[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