[PATCH RESEND v2 0/3] arm64: cppc: add FFH support using AMUs

From: Ionela Voinescu
Date: Tue Oct 27 2020 - 12:41:09 EST


This series adds support for CPPC's delivered and reference performance
counters through the FFH methods by using the AMU equivalent core and
constant cycle counters.

This support is added in patch 3/3, while the first 2 patches generalise
the existing AMU counter read and validation functionality to be reused
for this usecase.

The specification that drove this implementation can be found at [1],
chapter 3.2.

RESEND v2: rebase and retest on v5.10-rc1

v1 -> v2:
- v1 can be found at [2]
- The previous patch 1/4 was removed and a get_cpu_with_amu_feat()
function was introduced instead, in 3/3, as suggested by Catalin.
Given that most checks for the presence of AMUs is done at CPU
level, followed by other validation, this implementation works
better than the one initially introduced in v1/->patch 1/4.
- Fixed warning reported by 0-day kernel test robot.
- All build tests and FVP tests at [2] were re-run for this version.
- This version is based on linux-next/20201001.

[1] https://documentation-service.arm.com/static/5f106ad60daa596235e80081
[2] https://lore.kernel.org/lkml/20200826130309.28027-1-ionela.voinescu@xxxxxxx/

Thank you,
Ionela.

Ionela Voinescu (3):
arm64: wrap and generalise counter read functions
arm64: split counter validation function
arm64: implement CPPC FFH support using AMUs

arch/arm64/include/asm/cpufeature.h | 11 +++
arch/arm64/include/asm/topology.h | 2 +
arch/arm64/kernel/cpufeature.c | 8 +-
arch/arm64/kernel/topology.c | 132 ++++++++++++++++++++++------
4 files changed, 121 insertions(+), 32 deletions(-)


base-commit: 3650b228f83adda7e5ee532e2b90429c03f7b9ec
--
2.17.1