[RFC 0/3] cpufreq: cppc: Add support for frequency invariance

From: Viresh Kumar
Date: Thu Jul 09 2020 - 06:14:21 EST


Hello,

CPPC cpufreq driver is used for ARM servers and this patch series tries
to provide frequency invariance support for them. The same is also
provided using a specific hardware extension, known as AMU (Activity
Monitors Unit), but that is optional for platforms and at least few of
them don't have it.

This patchset allows multiple parts of the kernel to provide the same
functionality, by registering with the topology core.

This is tested with some hacks, as I didn't have access to the right
hardware, on the ARM64 hikey board to check the overall functionality
and that works fine.

Ionela/Peter Puhov, it would be nice if you guys can give this a shot.

This is based of my cpufreq/arm/linux-next branch (should work on
linux-next too) + a cleanup patch [1] that i sent this morning.

--
viresh

[1] https://lore.kernel.org/lkml/a710fc4e4e0f1d2e561320130b99bcb5167d73b4.1594277563.git.viresh.kumar@xxxxxxxxxx/

Viresh Kumar (3):
arm64: topology: Add amu_counters_supported() helper
topology: Provide generic implementation of
arch_freq_counters_available()
cpufreq: cppc: Add support for frequency invariance

arch/arm64/include/asm/topology.h | 7 --
arch/arm64/kernel/topology.c | 165 +++++++++++++++---------------
drivers/base/arch_topology.c | 43 +++++++-
drivers/cpufreq/cppc_cpufreq.c | 138 ++++++++++++++++++++++++-
include/linux/arch_topology.h | 5 +-
kernel/sched/core.c | 1 +
6 files changed, 263 insertions(+), 96 deletions(-)

--
2.25.0.rc1.19.g042ed3e048af