[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF6AEGvCibvC+VZ+9RwfgJ=m3i+mZOccVvRGygmS=ZLpqJQURA@mail.gmail.com>
Date: Tue, 26 Nov 2019 10:11:19 -0800
From: Rob Clark <robdclark@...il.com>
To: Georgi Djakov <georgi.djakov@...aro.org>
Cc: Stephen Boyd <sboyd@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Michael Turquette <mturquette@...libre.com>,
Andy Gross <agross@...nel.org>,
Taniya Das <tdas@...eaurora.org>, anischal@...eaurora.org,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
linux-clk <linux-clk@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
On Tue, Nov 26, 2019 at 7:34 AM Georgi Djakov <georgi.djakov@...aro.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@...il.com>
> Signed-off-by: Georgi Djakov <georgi.djakov@...aro.org>
Tested-by: Rob Clark <robdclark@...il.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[] = {
Powered by blists - more mailing lists