perf/x86/amd/core: Detect PerfMonV2 support
authorSandipan Das <sandipan.das@amd.com>
Thu, 21 Apr 2022 05:46:55 +0000 (11:16 +0530)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 4 May 2022 09:18:26 +0000 (11:18 +0200)
commit21d59e3e2c403c83ba196a5857d517054124168e
treee14d5c0d5b02a82450a7ba23286dab1e091e61c7
parent089be16d5992dd0bc6df15ef12042fd1023ded9a
perf/x86/amd/core: Detect PerfMonV2 support

AMD Performance Monitoring Version 2 (PerfMonV2) introduces
some new Core PMU features such as detection of the number
of available PMCs and managing PMCs using global registers
namely, PerfCntrGlobalCtl and PerfCntrGlobalStatus.

Clearing PerfCntrGlobalCtl and PerfCntrGlobalStatus ensures
that all PMCs are inactive and have no pending overflows
when CPUs are onlined or offlined.

The PMU version (x86_pmu.version) now indicates PerfMonV2
support and will be used to bypass the new features on
unsupported processors.

Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/dc8672ecbddff394e088ca8abf94b089b8ecc2e7.1650515382.git.sandipan.das@amd.com
arch/x86/events/amd/core.c