[PATCH v2] arm64: arm_pmuv3: Correctly extract and check the PMUVer

Will Deacon will at kernel.org
Fri Apr 12 09:06:43 PDT 2024


On Thu, 11 Apr 2024 20:30:30 +0800, Yicong Yang wrote:
> Currently we're using "sbfx" to extract the PMUVer from ID_AA64DFR0_EL1
> and skip the init/reset if no PMU present when the extracted PMUVer is
> negative or is zero. However for PMUv3p8 the PMUVer will be 0b1000 and
> PMUVer extracted by "sbfx" will always be negative and we'll skip the
> init/reset in __init_el2_debug/reset_pmuserenr_el0 unexpectedly.
> 
> So this patch use "ubfx" instead of "sbfx" to extract the PMUVer. If
> the PMUVer is implementation defined (0b1111) or not implemented(0b0000)
> then skip the reset/init. Previously we'll also skip the init/reset
> if the PMUVer is higher than the version we known (currently PMUv3p9),
> with this patch we'll only skip if the PMU is not implemented or
> implementation defined. This keeps consistence with how we probe
> the PMU in the driver with pmuv3_implemented().
> 
> [...]

Applied to will (for-next/perf), thanks!

[1/1] arm64: arm_pmuv3: Correctly extract and check the PMUVer
      https://git.kernel.org/will/c/b782e8d07baa

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev



More information about the linux-arm-kernel mailing list