aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/perf
diff options
context:
space:
mode:
authorMartin Fuzzey <mfuzzey@parkeon.com>2016-01-13 23:36:26 -0500
committerWill Deacon <will.deacon@arm.com>2016-01-25 13:37:44 -0500
commit8d1a0ae724ad74ef7946a45e3b2d3e01f39df02b (patch)
tree95c4e633c5ef8ae16bd3233ecee9f5e1e2b66623 /include/linux/perf
parent92e963f50fc74041b5e9e744c330dca48e04f08d (diff)
ARM: perf: Set ARMv7 SDER SUNIDEN bit
ARMv7 counters other than the CPU cycle counter only work if the Secure Debug Enable Register (SDER) SUNIDEN bit is set. Since access to the SDER is only possible in secure state, it will only be done if the device tree property "secure-reg-access" is set. Without this: Performance counter stats for 'sleep 1': 14606094 cycles # 0.000 GHz 0 instructions # 0.00 insns per cycle After applying: Performance counter stats for 'sleep 1': 5843809 cycles 2566484 instructions # 0.44 insns per cycle 1.020144000 seconds time elapsed Some platforms (eg i.MX53) may also need additional platform specific setup. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com> Signed-off-by: Pooya Keshavarzi <Pooya.Keshavarzi@de.bosch.com> Signed-off-by: George G. Davis <george_davis@mentor.com> [will: add warning if property is found on arm64] Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'include/linux/perf')
-rw-r--r--include/linux/perf/arm_pmu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/perf/arm_pmu.h b/include/linux/perf/arm_pmu.h
index 83b5e34c6580..2d5eaaa90078 100644
--- a/include/linux/perf/arm_pmu.h
+++ b/include/linux/perf/arm_pmu.h
@@ -104,6 +104,7 @@ struct arm_pmu {
104 atomic_t active_events; 104 atomic_t active_events;
105 struct mutex reserve_mutex; 105 struct mutex reserve_mutex;
106 u64 max_period; 106 u64 max_period;
107 bool secure_access; /* 32-bit ARM only */
107 struct platform_device *plat_device; 108 struct platform_device *plat_device;
108 struct pmu_hw_events __percpu *hw_events; 109 struct pmu_hw_events __percpu *hw_events;
109 struct notifier_block hotplug_nb; 110 struct notifier_block hotplug_nb;