diff mbox series

interconnect: qcom: msm8974: Don't boost the NoC rate during boot

Message ID 20201109124512.10776-1-georgi.djakov@linaro.org (mailing list archive)
State Not Applicable, archived
Headers show
Series interconnect: qcom: msm8974: Don't boost the NoC rate during boot | expand

Commit Message

Georgi Djakov Nov. 9, 2020, 12:45 p.m. UTC
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>
Fixes: b1d681d8d324 ("interconnect: Add sync state support")
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
---
 drivers/interconnect/qcom/msm8974.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Luca Weiss Nov. 17, 2020, 7:22 p.m. UTC | #1
Hi Georgi

On Montag, 9. November 2020 13:45:12 CET Georgi Djakov wrote:
> 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>
> Fixes: b1d681d8d324 ("interconnect: Add sync state support")
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>

Tested-by: Luca Weiss <luca@z3ntu.xyz>

> ---
>  drivers/interconnect/qcom/msm8974.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/interconnect/qcom/msm8974.c
> b/drivers/interconnect/qcom/msm8974.c index b6b639dad691..da68ce375a89
> 100644
> --- a/drivers/interconnect/qcom/msm8974.c
> +++ b/drivers/interconnect/qcom/msm8974.c
> @@ -637,6 +637,14 @@ static int msm8974_icc_set(struct icc_node *src, struct
> icc_node *dst) return 0;
>  }
> 
> +static int msm8974_get_bw(struct icc_node *node, u32 *avg, u32 *peak)
> +{
> +	*avg = 0;
> +	*peak = 0;
> +
> +	return 0;
> +}
> +
>  static int msm8974_icc_probe(struct platform_device *pdev)
>  {
>  	const struct msm8974_icc_desc *desc;
> @@ -690,6 +698,7 @@ static int msm8974_icc_probe(struct platform_device
> *pdev) provider->aggregate = icc_std_aggregate;
>  	provider->xlate = of_icc_xlate_onecell;
>  	provider->data = data;
> +	provider->get_bw = msm8974_get_bw;
> 
>  	ret = icc_provider_add(provider);
>  	if (ret) {

Regards
Luca
diff mbox series

Patch

diff --git a/drivers/interconnect/qcom/msm8974.c b/drivers/interconnect/qcom/msm8974.c
index b6b639dad691..da68ce375a89 100644
--- a/drivers/interconnect/qcom/msm8974.c
+++ b/drivers/interconnect/qcom/msm8974.c
@@ -637,6 +637,14 @@  static int msm8974_icc_set(struct icc_node *src, struct icc_node *dst)
 	return 0;
 }
 
+static int msm8974_get_bw(struct icc_node *node, u32 *avg, u32 *peak)
+{
+	*avg = 0;
+	*peak = 0;
+
+	return 0;
+}
+
 static int msm8974_icc_probe(struct platform_device *pdev)
 {
 	const struct msm8974_icc_desc *desc;
@@ -690,6 +698,7 @@  static int msm8974_icc_probe(struct platform_device *pdev)
 	provider->aggregate = icc_std_aggregate;
 	provider->xlate = of_icc_xlate_onecell;
 	provider->data = data;
+	provider->get_bw = msm8974_get_bw;
 
 	ret = icc_provider_add(provider);
 	if (ret) {