OSDN Git Service

arm64: perf: Add support for chaining event counters
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Tue, 10 Jul 2018 08:58:04 +0000 (09:58 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 10 Jul 2018 17:19:30 +0000 (18:19 +0100)
commitc13207905340d85eaddd85b6d2868218f324b180
treef633d2f33266ba3a7ac672c1d822b6733f490a90
parent3cce50dfec4a5b0414c974190940f47dd32c6dee
arm64: perf: Add support for chaining event counters

Add support for 64bit event by using chained event counters
and 64bit cycle counters.

PMUv3 allows chaining a pair of adjacent 32-bit counters, effectively
forming a 64-bit counter. The low/even counter is programmed to count
the event of interest, and the high/odd counter is programmed to count
the CHAIN event, taken when the low/even counter overflows.

For CPU cycles, when 64bit mode is requested, the cycle counter
is used in 64bit mode. If the cycle counter is not available,
falls back to chaining.

Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/perf_event.c
drivers/perf/arm_pmu.c