[PATCH] arm64: pmuv3: Support v8.1 PMUv3 extension
mark.rutland at arm.com
Mon Apr 24 05:57:47 PDT 2017
On Mon, Apr 24, 2017 at 11:31:43AM +0000, Jayachandran C wrote:
> The PMUVer field can have a value 4 for PMUv3 which supports 16 bit
> evtCount field (this is documented in ARM Architecture Reference Manual
> Supplement ARMv8.1).
> The current check for PMUVer to be equal to 1 fails on ThunderX2 which
> has value 4 in PMUVer field. Fix this.
> Signed-off-by: Jayachandran C <jnair at caviumnetworks.com>
> This applies on top of the current arm64 tree and fixes a breakage due
> to the ACPI perf patches.
Sorry for the delay on this. I'm still awaiting an architectural
clarification on how this field should be interpreted, as per my prior
I realise that's not much consolation here, so I'm happy to take an
intermediate fix. One comment on that below.
> arch/arm64/kernel/perf_event.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c
> index 98c7493..5388ed8 100644
> --- a/arch/arm64/kernel/perf_event.c
> +++ b/arch/arm64/kernel/perf_event.c
> @@ -972,7 +972,7 @@ static void __armv8pmu_probe_pmu(void *info)
> dfr0 = read_sysreg(id_aa64dfr0_el1);
> pmuver = cpuid_feature_extract_unsigned_field(dfr0,
> - if (pmuver != 1)
> + if (pmuver != 1 && pmuver != 4)
Can we please make this:
pmuver = cpuid_feature_extract_signed_field(dfr0,
if (pmuver < 1)
With that, I'm happy to take this while we await further clarification.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
More information about the linux-arm-kernel