From: Rajendra Nayak <rnayak@codeaurora.org>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: mturquette@baylibre.com, linux-kernel@vger.kernel.org,
linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH 5/6] clk: qcom: gdsc: Do not check for disabled status on votable gdscs
Date: Tue, 01 Dec 2015 08:33:01 +0530 [thread overview]
Message-ID: <565D0DE5.50700@codeaurora.org> (raw)
In-Reply-To: <20151201015323.GF17532@codeaurora.org>
On 12/01/2015 07:23 AM, Stephen Boyd wrote:
> On 11/26, Rajendra Nayak wrote:
>> Some gdscs might be controlled via voting registers and might not
>> really disable when the kernel intends to disable them (due to other
>> votes keeping them enabled)
>> Mark these gdscs with a flag for we do not check/wait on a disable
>> status for these gdscs within the kernel disable callback.
>>
>> Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
>> ---
>> drivers/clk/qcom/gcc-msm8996.c | 4 ++++
>> drivers/clk/qcom/gdsc.c | 4 ++++
>> drivers/clk/qcom/gdsc.h | 15 ++++++++-------
>> drivers/clk/qcom/mmcc-msm8996.c | 3 +++
>> 4 files changed, 19 insertions(+), 7 deletions(-)
>
> We should have this patch before adding the gdscs that use it.
> Prevents any bisect hole.
yes, will rearrange to move this up in the series.
>
>> static struct gdsc usb30_gdsc = {
>> diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c
>> index fb2e43c..984537f 100644
>> --- a/drivers/clk/qcom/gdsc.c
>> +++ b/drivers/clk/qcom/gdsc.c
>> @@ -65,6 +65,10 @@ static int gdsc_toggle_logic(struct gdsc *sc, bool en)
>> if (ret)
>> return ret;
>>
>> + /* If disabling votable gdscs, don't poll on status */
>> + if ((sc->flags & VOTABLE) && !en)
>> + return 0;
>> +
>
> There's an explicit delay of 100uS on the disable path for
> votable gdscs in the downstream code. I don't see that here.
right, I just left it out as I did not see any issues testing
without it, when I did enable/disable the votable gdscs in
a tight loop. But maybe my testing was limited to only apss
voting for these so I can put it back in.
>
>> timeout = jiffies + usecs_to_jiffies(TIMEOUT_US);
>>
>> if (sc->gds_hw_ctrl) {
>> diff --git a/drivers/clk/qcom/gdsc.h b/drivers/clk/qcom/gdsc.h
>> index 66a43be..91cbb09 100644
>> --- a/drivers/clk/qcom/gdsc.h
>> +++ b/drivers/clk/qcom/gdsc.h
>> @@ -20,13 +20,6 @@
>> struct regmap;
>> struct reset_controller_dev;
>>
>> -/* Powerdomain allowable state bitfields */
>> -#define PWRSTS_OFF BIT(0)
>> -#define PWRSTS_RET BIT(1)
>> -#define PWRSTS_ON BIT(2)
>> -#define PWRSTS_OFF_ON (PWRSTS_OFF | PWRSTS_ON)
>> -#define PWRSTS_RET_ON (PWRSTS_RET | PWRSTS_ON)
>> -
>> /**
>> * struct gdsc - Globally Distributed Switch Controller
>> * @pd: generic power domain
>> @@ -49,6 +42,14 @@ struct gdsc {
>> unsigned int *cxcs;
>> unsigned int cxc_count;
>> const u8 pwrsts;
>> +/* Powerdomain allowable state bitfields */
>> +#define PWRSTS_OFF BIT(0)
>> +#define PWRSTS_RET BIT(1)
>> +#define PWRSTS_ON BIT(2)
>> +#define PWRSTS_OFF_ON (PWRSTS_OFF | PWRSTS_ON)
>> +#define PWRSTS_RET_ON (PWRSTS_RET | PWRSTS_ON)
>
> Yes! We should have done this already. I guess I'm ok combining
> it with this patch.
>
>> + const u8 flags;
>> +#define VOTABLE BIT(0)
>> struct reset_controller_dev *rcdev;
>> unsigned int *resets;
>> unsigned int reset_count;
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
next prev parent reply other threads:[~2015-12-01 3:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-26 5:54 [PATCH 0/6] Add support for MSM8996 GDSCs Rajendra Nayak
2015-11-26 5:54 ` [PATCH 1/6] clk: qcom: gdsc: Add support for hierarchical power domains Rajendra Nayak
2015-11-26 5:54 ` [PATCH 2/6] clk: qcom: gdsc: Add support for gdscs with gds hw controller Rajendra Nayak
2015-12-01 2:22 ` Stephen Boyd
2015-12-01 3:08 ` Rajendra Nayak
2015-12-01 7:27 ` Stephen Boyd
2015-12-01 16:01 ` Rajendra Nayak
2015-11-26 5:54 ` [PATCH 3/6] clk: qcom: gdsc: Add GDSCs in msm8996 GCC Rajendra Nayak
2015-11-26 5:54 ` [PATCH 4/6] clk: qcom: gdsc: Add mmcc gdscs for msm8996 family Rajendra Nayak
2015-11-26 5:54 ` [PATCH 5/6] clk: qcom: gdsc: Do not check for disabled status on votable gdscs Rajendra Nayak
2015-12-01 1:53 ` Stephen Boyd
2015-12-01 3:03 ` Rajendra Nayak [this message]
2015-11-26 5:54 ` [PATCH 6/6] clk: qcom: mmcc8974: Use gdscs .parent and remove genpd calls Rajendra Nayak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=565D0DE5.50700@codeaurora.org \
--to=rnayak@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).