linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
@ 2019-11-26 15:34 Georgi Djakov
  2019-11-26 18:11 ` Rob Clark
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Georgi Djakov @ 2019-11-26 15:34 UTC (permalink / raw)
  To: sboyd, bjorn.andersson, robdclark
  Cc: mturquette, agross, tdas, anischal, linux-arm-msm, linux-clk,
	linux-kernel, georgi.djakov

On sdm845 devices, during boot we see the following warnings (unless we
have added 'pd_ignore_unused' to the kernel command line):
	hlos1_vote_mmnoc_mmu_tbu_sf_gdsc status stuck at 'on'
	hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc status stuck at 'on'
	hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc status stuck at 'on'
	hlos1_vote_aggre_noc_mmu_tbu2_gdsc status stuck at 'on'
	hlos1_vote_aggre_noc_mmu_tbu1_gdsc status stuck at 'on'
	hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc status stuck at 'on'
	hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc status stuck at 'on'

As the name of these GDSCs suggests, they are "votable" and in downstream
DT, they all have the property "qcom,no-status-check-on-disable", which
means that we should not poll the status bit when we disable them.

Luckily the VOTABLE flag already exists and it does exactly what we need,
so let's make use of it to make the warnings disappear.

Fixes: 06391eddb60a ("clk: qcom: Add Global Clock controller (GCC) driver for SDM845")
Reported-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
---
 drivers/clk/qcom/gcc-sdm845.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/clk/qcom/gcc-sdm845.c b/drivers/clk/qcom/gcc-sdm845.c
index 95be125c3bdd..56d22dd225c9 100644
--- a/drivers/clk/qcom/gcc-sdm845.c
+++ b/drivers/clk/qcom/gcc-sdm845.c
@@ -3255,6 +3255,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc = {
 		.name = "hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = {
@@ -3263,6 +3264,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = {
 		.name = "hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = {
@@ -3271,6 +3273,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = {
 		.name = "hlos1_vote_aggre_noc_mmu_tbu1_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = {
@@ -3279,6 +3282,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = {
 		.name = "hlos1_vote_aggre_noc_mmu_tbu2_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = {
@@ -3287,6 +3291,7 @@ static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = {
 		.name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = {
@@ -3295,6 +3300,7 @@ static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = {
 		.name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = {
@@ -3303,6 +3309,7 @@ static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = {
 		.name = "hlos1_vote_mmnoc_mmu_tbu_sf_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct clk_regmap *gcc_sdm845_clocks[] = {

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
  2019-11-26 15:34 [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs Georgi Djakov
@ 2019-11-26 18:11 ` Rob Clark
  2019-12-13  2:59 ` Stephen Boyd
  2020-01-05 20:02 ` Stephen Boyd
  2 siblings, 0 replies; 4+ messages in thread
From: Rob Clark @ 2019-11-26 18:11 UTC (permalink / raw)
  To: Georgi Djakov
  Cc: Stephen Boyd, Bjorn Andersson, Michael Turquette, Andy Gross,
	Taniya Das, anischal, linux-arm-msm, linux-clk,
	Linux Kernel Mailing List

On Tue, Nov 26, 2019 at 7:34 AM Georgi Djakov <georgi.djakov@linaro.org> wrote:
>
> On sdm845 devices, during boot we see the following warnings (unless we
> have added 'pd_ignore_unused' to the kernel command line):
>         hlos1_vote_mmnoc_mmu_tbu_sf_gdsc status stuck at 'on'
>         hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc status stuck at 'on'
>         hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_tbu2_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_tbu1_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc status stuck at 'on'
>
> As the name of these GDSCs suggests, they are "votable" and in downstream
> DT, they all have the property "qcom,no-status-check-on-disable", which
> means that we should not poll the status bit when we disable them.
>
> Luckily the VOTABLE flag already exists and it does exactly what we need,
> so let's make use of it to make the warnings disappear.
>
> Fixes: 06391eddb60a ("clk: qcom: Add Global Clock controller (GCC) driver for SDM845")
> Reported-by: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>

Tested-by: Rob Clark <robdclark@gmail.com>

(on yoga c630)

> ---
>  drivers/clk/qcom/gcc-sdm845.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/clk/qcom/gcc-sdm845.c b/drivers/clk/qcom/gcc-sdm845.c
> index 95be125c3bdd..56d22dd225c9 100644
> --- a/drivers/clk/qcom/gcc-sdm845.c
> +++ b/drivers/clk/qcom/gcc-sdm845.c
> @@ -3255,6 +3255,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc = {
>                 .name = "hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = {
> @@ -3263,6 +3264,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = {
>                 .name = "hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = {
> @@ -3271,6 +3273,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = {
>                 .name = "hlos1_vote_aggre_noc_mmu_tbu1_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = {
> @@ -3279,6 +3282,7 @@ static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = {
>                 .name = "hlos1_vote_aggre_noc_mmu_tbu2_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = {
> @@ -3287,6 +3291,7 @@ static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = {
>                 .name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = {
> @@ -3295,6 +3300,7 @@ static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = {
>                 .name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = {
> @@ -3303,6 +3309,7 @@ static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = {
>                 .name = "hlos1_vote_mmnoc_mmu_tbu_sf_gdsc",
>         },
>         .pwrsts = PWRSTS_OFF_ON,
> +       .flags = VOTABLE,
>  };
>
>  static struct clk_regmap *gcc_sdm845_clocks[] = {

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
  2019-11-26 15:34 [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs Georgi Djakov
  2019-11-26 18:11 ` Rob Clark
@ 2019-12-13  2:59 ` Stephen Boyd
  2020-01-05 20:02 ` Stephen Boyd
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Boyd @ 2019-12-13  2:59 UTC (permalink / raw)
  To: Georgi Djakov, bjorn.andersson, robdclark
  Cc: mturquette, agross, tdas, anischal, linux-arm-msm, linux-clk,
	linux-kernel, georgi.djakov

Quoting Georgi Djakov (2019-11-26 07:34:37)
> On sdm845 devices, during boot we see the following warnings (unless we
> have added 'pd_ignore_unused' to the kernel command line):
>         hlos1_vote_mmnoc_mmu_tbu_sf_gdsc status stuck at 'on'
>         hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc status stuck at 'on'
>         hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_tbu2_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_tbu1_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc status stuck at 'on'
> 
> As the name of these GDSCs suggests, they are "votable" and in downstream
> DT, they all have the property "qcom,no-status-check-on-disable", which
> means that we should not poll the status bit when we disable them.
> 
> Luckily the VOTABLE flag already exists and it does exactly what we need,
> so let's make use of it to make the warnings disappear.
> 
> Fixes: 06391eddb60a ("clk: qcom: Add Global Clock controller (GCC) driver for SDM845")
> Reported-by: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>

Taniya, can you ack/review this change?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
  2019-11-26 15:34 [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs Georgi Djakov
  2019-11-26 18:11 ` Rob Clark
  2019-12-13  2:59 ` Stephen Boyd
@ 2020-01-05 20:02 ` Stephen Boyd
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Boyd @ 2020-01-05 20:02 UTC (permalink / raw)
  To: Georgi Djakov, bjorn.andersson, robdclark
  Cc: mturquette, agross, tdas, anischal, linux-arm-msm, linux-clk,
	linux-kernel, georgi.djakov

Quoting Georgi Djakov (2019-11-26 07:34:37)
> On sdm845 devices, during boot we see the following warnings (unless we
> have added 'pd_ignore_unused' to the kernel command line):
>         hlos1_vote_mmnoc_mmu_tbu_sf_gdsc status stuck at 'on'
>         hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc status stuck at 'on'
>         hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_tbu2_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_tbu1_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc status stuck at 'on'
>         hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc status stuck at 'on'
> 
> As the name of these GDSCs suggests, they are "votable" and in downstream
> DT, they all have the property "qcom,no-status-check-on-disable", which
> means that we should not poll the status bit when we disable them.
> 
> Luckily the VOTABLE flag already exists and it does exactly what we need,
> so let's make use of it to make the warnings disappear.
> 
> Fixes: 06391eddb60a ("clk: qcom: Add Global Clock controller (GCC) driver for SDM845")
> Reported-by: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
> ---

Applied to clk-fixes


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-01-05 20:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-26 15:34 [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs Georgi Djakov
2019-11-26 18:11 ` Rob Clark
2019-12-13  2:59 ` Stephen Boyd
2020-01-05 20:02 ` Stephen Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).