summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>2026-03-24 03:10:40 +0300
committerGeorgi Djakov <djakov@kernel.org>2026-03-26 21:09:26 +0300
commitfba5454ef58bbdf2334fc94c29ae3053acac574c (patch)
treea503908a71081677dd69a0f188c05f5ec0f35b90
parentb8498af901684912bd87a39c7b95ad955d9bc543 (diff)
downloadlinux-fba5454ef58bbdf2334fc94c29ae3053acac574c.tar.xz
interconnect: qcom: icc-rpm: allow overwriting get_bw callback
MSM8974 requires a separate get_bw callback, since on that platform increasing the clock rate for some of the NoCs during boot may lead to hangs. For the details see commit 9caf2d956cfa ("interconnect: qcom: msm8974: Don't boost the NoC rate during boot"). Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://msgid.link/20260324-msm8974-icc-v2-4-527280043ad8@oss.qualcomm.com Signed-off-by: Georgi Djakov <djakov@kernel.org>
-rw-r--r--drivers/interconnect/qcom/icc-rpm.c1
-rw-r--r--drivers/interconnect/qcom/icc-rpm.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c
index ea1042d38128..aec2f84cd56f 100644
--- a/drivers/interconnect/qcom/icc-rpm.c
+++ b/drivers/interconnect/qcom/icc-rpm.c
@@ -553,6 +553,7 @@ regmap_done:
provider->aggregate = qcom_icc_bw_aggregate;
provider->xlate_extended = qcom_icc_xlate_extended;
provider->data = data;
+ provider->get_bw = desc->get_bw;
icc_provider_init(provider);
diff --git a/drivers/interconnect/qcom/icc-rpm.h b/drivers/interconnect/qcom/icc-rpm.h
index 3366531f66fc..cbf0a365839d 100644
--- a/drivers/interconnect/qcom/icc-rpm.h
+++ b/drivers/interconnect/qcom/icc-rpm.h
@@ -135,6 +135,7 @@ struct qcom_icc_desc {
unsigned int qos_offset;
u16 ab_coeff;
u16 ib_coeff;
+ int (*get_bw)(struct icc_node *node, u32 *avg, u32 *peak);
};
/* Valid for all bus types */