From: Stephen Boyd <sboyd@codeaurora.org>
To: Rajendra Nayak <rnayak@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: Mon, 30 Nov 2015 17:53:23 -0800 [thread overview]
Message-ID: <20151201015323.GF17532@codeaurora.org> (raw)
In-Reply-To: <1448517297-32419-6-git-send-email-rnayak@codeaurora.org>
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.
> 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.
> 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,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2015-12-01 1:53 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 [this message]
2015-12-01 3:03 ` Rajendra Nayak
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=20151201015323.GF17532@codeaurora.org \
--to=sboyd@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=rnayak@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.