Skip to content
Commit 17fc623e authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson
Browse files

interconnect: qcom: icc-rpm: Fix bandwidth calculations



Up until now, we've been aggregating the bandwidth values and only
dividing them by the bus width of the source node. This was completely
wrong, as different nodes on a given path may (and usually do) have
varying bus widths.  That in turn, resulted in the calculated clock rates
being completely bogus - usually they ended up being much higher, as
NoC_A<->NoC_B links are very wide.

Since we're not using the aggregate bandwidth value for anything other
than clock rate calculations, remodel qcom_icc_bus_aggregate() to
calculate the per-context clock rate for a given provider, taking into
account the bus width of every individual node.

Fixes: 30c8fa3e ("interconnect: qcom: Add MSM8916 interconnect provider driver")
Reported-by: default avatarStephan Gerhold <stephan@gerhold.net>
Reviewed-by: default avatarStephan Gerhold <stephan@gerhold.net>
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Acked-by: default avatarGeorgi Djakov <djakov@kernel.org>
Link: https://lore.kernel.org/r/20230526-topic-smd_icc-v7-22-09c78c175546@linaro.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 3b748010
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment