linux/drivers/interconnect
Leo Yan dcbce7b0a7 interconnect: qcom: icc-rpm: Support multiple buckets
The current interconnect rpm driver uses a single aggregate bandwidth to
calculate the clock rates for both active and sleep clocks; therefore,
it has no chance to separate bandwidth requests for these two kinds of
clocks.

This patch studies the implementation from interconnect rpmh driver to
support multiple buckets.  The rpmh driver provides three buckets for
AMC, WAKE, and SLEEP; this driver only needs to use WAKE and SLEEP
buckets, but we keep the same way with rpmh driver, this can allow us to
reuse the DT binding and avoid to define duplicated data structures.

This patch introduces two callbacks: qcom_icc_pre_bw_aggregate() is used
to clean up bucket values before aggregate bandwidth requests, and
qcom_icc_bw_aggregate() is to aggregate bandwidth for buckets.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Link: https://lore.kernel.org/r/20220712015929.2789881-5-leo.yan@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2022-07-12 10:03:09 +03:00
..
imx interconnect: imx: Add imx_icc_get_bw function to set initial avg and peak 2022-01-23 23:32:48 +02:00
qcom interconnect: qcom: icc-rpm: Support multiple buckets 2022-07-12 10:03:09 +03:00
samsung interconnect: samsung: describe drivers in KConfig 2021-10-04 16:03:33 +03:00
bulk.c interconnect: Fix kerneldoc warning 2021-03-18 23:46:21 +02:00
core.c interconnect: Restore sync state by ignoring ipa-virt in provider count 2022-05-03 22:24:21 +03:00
internal.h interconnect: Add helpers for enabling/disabling a path 2020-05-10 18:30:37 +03:00
Kconfig interconnect: Add generic interconnect driver for Exynos SoCs 2020-11-30 17:26:22 +02:00
Makefile interconnect: Add generic interconnect driver for Exynos SoCs 2020-11-30 17:26:22 +02:00
trace.h interconnect: Add basic tracepoints 2019-12-16 09:25:23 +02:00