Georgi Djakov
9caf2d956c
interconnect: qcom: msm8974: Don't boost the NoC rate during boot
...
It has been reported that on Fairphone 2 (msm8974-based), increasing
the clock rate for some of the NoCs during boot may lead to hangs.
Let's restore the original behavior and not touch the clock rate of
any of the NoCs to fix the regression.
Reported-by: Luca Weiss <luca@z3ntu.xyz >
Tested-by: Luca Weiss <luca@z3ntu.xyz >
Fixes: b1d681d8d3
("interconnect: Add sync state support")
Link: https://lore.kernel.org/r/20201109124512.10776-1-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2020-11-18 00:21:47 +02:00
Georgi Djakov
7381e27b1e
interconnect: qcom: msm8974: Prevent integer overflow in rate
...
When sync_state support got introduced recently, by default we try to
set the NoCs to run initially at maximum rate. But as these values are
aggregated, we may end with a really big clock rate value, which is
then converted from "u64" to "long" during the clock rate rounding.
But on 32bit platforms this may result an overflow. Fix it by making
sure that the rate is within range.
Reported-by: Luca Weiss <luca@z3ntu.xyz >
Reviewed-by: Brian Masney <masneyb@onstation.org >
Link: https://lore.kernel.org/r/20201106144847.7726-1-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2020-11-18 00:18:05 +02:00
Georgi Djakov
b92c35e1b9
interconnect: qcom: Use the standard aggregate function
...
Now we have a common function for standard aggregation, so let's use it,
instead of duplicating the code.
Reviewed-by: Brian Masney <masneyb@onstation.org >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Reviewed-by: Evan Green <evgreen@chromium.org >
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2019-12-16 09:25:24 +02:00
Georgi Djakov
ad3703ac24
interconnect: qcom: Use the new common helper for node removal
...
There is a new helper function for removing all nodes. Let's use it instead
of duplicating the code.
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
2019-12-16 09:25:23 +02:00
Georgi Djakov
3e42fe5c73
interconnect: qcom: msm8974: Walk the list safely on node removal
...
As we will remove items off the list using list_del(), we need to use the
safe version of list_for_each_entry().
Fixes: 4e60a9568d
("interconnect: qcom: add msm8974 driver")
Reported-by: Dmitry Osipenko <digetx@gmail.com >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
Link: https://lore.kernel.org/r/20191212075332.16202-5-georgi.djakov@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-12-12 10:28:54 +01:00
Brian Masney
4e60a9568d
interconnect: qcom: add msm8974 driver
...
Add driver for the Qualcomm MSM8974 interconnect providers that support
setting system bandwidth requirements between various network-on-chip
fabrics.
Signed-off-by: Brian Masney <masneyb@onstation.org >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Link: https://lore.kernel.org/r/20191024103054.9770-3-masneyb@onstation.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org >
Link: https://lore.kernel.org/r/20191108125349.24191-3-georgi.djakov@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-11-08 17:14:06 +01:00