[PATCH v2 0/2] firmware: arm_scmi: unbound discrete rates, support round rate
From: Etienne Carriere
Date: Tue Dec 03 2024 - 13:05:22 EST
These 2 patches propose to remove the limitation of 16 discrete rate max on
SCMI clocks and implements an effective round_rate operation on SCMI clocks
that provides non-linear possible rates.
The 1st patch removes a limitation on SCMI clocks that is not really needed
since the SCMI clock driver does not need to store the full list of
supported discrete rates but only require to store the min and max rate
values. This change was initially proposed in:
https://lore.kernel.org/lkml/20240729065306.1210733-1-etienne.carriere@xxxxxxxxxxx/
The second patch implements a real round_rate operation that is needed for
example on STM32MP25 platforms for the video and the sound drivers that needs
to know the effective possible clock rates in order to select a compliant sample
clock frequency regarding the audio quality constraints.
STM32MP25 platforms also need the 1st patch of this series since many of the
audio clocks (SAIx and MDFx interfaces) and the LTDC video clock are provided
by SCMI clocks (CK_SCMI_FLEXGEN_x).
Etienne Carriere (2):
firmware: arm_scmi: get only min/max clock rates
firmware: arm_scmi: round rate bisecting in discrete rates
drivers/clk/clk-scmi.c | 21 ++-
drivers/firmware/arm_scmi/clock.c | 205 +++++++++++++++++++++++++++++-
include/linux/scmi_protocol.h | 7 +-
3 files changed, 220 insertions(+), 13 deletions(-)
--
2.25.1