summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/perf_cpum_cf.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-11-05 09:50:33 -0800
committerOlof Johansson <olof@lixom.net>2012-11-05 09:50:33 -0800
commitc2d8c259bfce056437e8dbc4b048944050f9b567 (patch)
tree726e49653f7014bea034c59624ea23c21d6df13f /arch/s390/kernel/perf_cpum_cf.c
parente4de6c961cc8b688443c7989ae3e38d0518334a5 (diff)
parente5c5f2adeb370559f4b221d57214db85858b786a (diff)
downloadtalos-obmc-linux-c2d8c259bfce056437e8dbc4b048944050f9b567.tar.gz
talos-obmc-linux-c2d8c259bfce056437e8dbc4b048944050f9b567.zip
Merge branch 'devel/debug_ll_init' into next/multiplatform
* devel/debug_ll_init: ARM: implement debug_ll_io_init() + sync to Linux 3.7-rc4
Diffstat (limited to 'arch/s390/kernel/perf_cpum_cf.c')
-rw-r--r--arch/s390/kernel/perf_cpum_cf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/s390/kernel/perf_cpum_cf.c b/arch/s390/kernel/perf_cpum_cf.c
index 9871b1971ed7..c4e7269d4a09 100644
--- a/arch/s390/kernel/perf_cpum_cf.c
+++ b/arch/s390/kernel/perf_cpum_cf.c
@@ -94,7 +94,7 @@ static int get_counter_set(u64 event)
set = CPUMF_CTR_SET_USER;
else if (event < 128)
set = CPUMF_CTR_SET_CRYPTO;
- else if (event < 160)
+ else if (event < 256)
set = CPUMF_CTR_SET_EXT;
return set;
@@ -138,6 +138,10 @@ static int validate_ctr_version(const struct hw_perf_event *hwc)
case CPUMF_CTR_SET_EXT:
if (cpuhw->info.csvn < 1)
err = -EOPNOTSUPP;
+ if ((cpuhw->info.csvn == 1 && hwc->config > 159) ||
+ (cpuhw->info.csvn == 2 && hwc->config > 175) ||
+ (cpuhw->info.csvn > 2 && hwc->config > 255))
+ err = -EOPNOTSUPP;
break;
}
OpenPOWER on IntegriCloud