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

From: Will Deacon
Date: Fri Apr 12 2024 - 12:07:46 EST


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