arm64/arm: arm_pmuv3: perf: Don't truncate 64-bit registers
authorIlkka Koskinen <ilkka@os.amperecomputing.com>
Thu, 2 Nov 2023 18:30:12 +0000 (11:30 -0700)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 7 Nov 2023 11:00:57 +0000 (11:00 +0000)
commit403edfa436286b21f5ffe6856ae5b36396e8966c
treedae58a3581af1ced8185b5eb6d52d1f8fce4b2b2
parent15c7ef7341a2e54cfa12ac502c65d6fd2cce2b62
arm64/arm: arm_pmuv3: perf: Don't truncate 64-bit registers

The driver used to truncate several 64-bit registers such as PMCEID[n]
registers used to describe whether architectural and microarchitectural
events in range 0x4000-0x401f exist. Due to discarding the bits, the
driver made the events invisible, even if they existed.

Moreover, PMCCFILTR and PMCR registers have additional bits in the upper
32 bits. This patch makes them available although they aren't currently
used. Finally, functions handling PMXEVCNTR and PMXEVTYPER registers are
removed as they not being used at all.

Fixes: df29ddf4f04b ("arm64: perf: Abstract system register accesses away")
Reported-by: Carl Worth <carl@os.amperecomputing.com>
Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Acked-by: Will Deacon <will@kernel.org>
Closes: https://lore.kernel.org/..
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20231102183012.1251410-1-ilkka@os.amperecomputing.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm/include/asm/arm_pmuv3.h
arch/arm64/include/asm/arm_pmuv3.h
drivers/perf/arm_pmuv3.c