summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/s390/kernel/perf_pai_crypto.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/s390/kernel/perf_pai_crypto.c b/arch/s390/kernel/perf_pai_crypto.c
index 73a55ddedc80..5d4b9ffe3cb1 100644
--- a/arch/s390/kernel/perf_pai_crypto.c
+++ b/arch/s390/kernel/perf_pai_crypto.c
@@ -435,13 +435,14 @@ static int paicrypt_add(struct perf_event *event, int flags)
}
static void pai_have_sample(struct perf_event *, struct pai_map *);
-static void paicrypt_stop(struct perf_event *event, int flags)
+static void pai_stop(struct perf_event *event, int flags)
{
struct pai_mapptr *mp = this_cpu_ptr(pai_root.mapptr);
struct pai_map *cpump = mp->mapptr;
+ int idx = PAI_PMU_IDX(event);
if (!event->attr.sample_period) { /* Counting */
- paicrypt_read(event);
+ pai_pmu[idx].pmu->read(event);
} else { /* Sampling */
if (!(event->attach_state & PERF_ATTACH_TASK)) {
perf_sched_cb_dec(event->pmu);
@@ -454,6 +455,11 @@ static void paicrypt_stop(struct perf_event *event, int flags)
event->hw.state = PERF_HES_STOPPED;
}
+static void paicrypt_stop(struct perf_event *event, int flags)
+{
+ pai_stop(event, flags);
+}
+
static void paicrypt_del(struct perf_event *event, int flags)
{
struct pai_mapptr *mp = this_cpu_ptr(pai_root.mapptr);