aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/perf_event.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2010-02-26 04:46:15 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-03-13 05:50:29 -0500
commitd10fca9f39238b07cc670b441d2b423de30359d2 (patch)
treed5b988628ad269d4d3f39b76ec55d9855a223988 /arch/arm/kernel/perf_event.c
parentddee87f208b6229d2910dd5930c87089dc56c87e (diff)
ARM: 5960/1: ARM: perf-events: fix v7 event selection mask
The event selection mask for ARMv7 cores [ARMV7_EVTSEL_MASK] is incorrectly set to 0x7f. This means that the top bit of an event ID is ignored, so counting branch misses (id=0x10) and ISBs (id=0x90) give the same results. This patch sets the event selection mask to the correct value of 0xff. Signed-off-by: Jean Pihet <jpihet@mvista.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/perf_event.c')
-rw-r--r--arch/arm/kernel/perf_event.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index b44d15948b56..c45a155a73dc 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -1625,7 +1625,7 @@ enum armv7_counters {
1625/* 1625/*
1626 * EVTSEL: Event selection reg 1626 * EVTSEL: Event selection reg
1627 */ 1627 */
1628#define ARMV7_EVTSEL_MASK 0x7f /* Mask for writable bits */ 1628#define ARMV7_EVTSEL_MASK 0xff /* Mask for writable bits */
1629 1629
1630/* 1630/*
1631 * SELECT: Counter selection reg 1631 * SELECT: Counter selection reg