[PATCH 0/2] Improve CPPC counter scalability via local emulation
Sunil V L
sunilvl at oss.qualcomm.com
Thu Jul 2 22:05:28 PDT 2026
From: Sunil V L <sunilvl at oss.qualcomm.com>
This series improves the scalability of the RPMI-based CPPC driver's
REFERENCE_CTR and DELIVERED_CTR registers, which are read frequently
by CPU frequency governors.
Currently, every read of these counters sends an RPMI message to the
controller. Since REFERENCE_CTR can be just the TIME csr and, when the
fast channel is supported, DELIVERED_CTR can be derived from the
current frequency exposed via the fast channel, both can instead be
emulated locally without a round trip to the controller.
Sunil V L (2):
lib/sbi/sbi_timer: Add sbi_timer_frequency() function
lib/utils/cppc: Emulate REFERENCE_CTR and DELIVERED_CTR locally
include/sbi/sbi_timer.h | 3 +++
lib/sbi/sbi_timer.c | 12 ++++++++++
lib/utils/cppc/fdt_cppc_rpmi.c | 44 +++++++++++++++++++++++++++++-----
3 files changed, 53 insertions(+), 6 deletions(-)
--
2.43.0
More information about the opensbi
mailing list