All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Maulik Shah <mkshah@codeaurora.org>
Cc: swboyd@chromium.org, agross@kernel.org, david.brown@linaro.org,
	Lorenzo.Pieralisi@arm.com, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, bjorn.andersson@linaro.org,
	evgreen@chromium.org, dianders@chromium.org,
	rnayak@codeaurora.org, ilina@codeaurora.org,
	lsrao@codeaurora.org, ulf.hansson@linaro.org, rjw@rjwysocki.net,
	Sudeep Holla <sudeep.holla@arm.com>
Subject: Re: [PATCH v3 5/7] drivers: firmware: psci: Add hierarchical domain idle states converter
Date: Tue, 4 Feb 2020 15:21:32 +0000	[thread overview]
Message-ID: <20200204152132.GA44858@bogus> (raw)
In-Reply-To: <0d7f7ade-3a1e-5428-d851-f1a886f58712@codeaurora.org>

On Tue, Feb 04, 2020 at 10:22:42AM +0530, Maulik Shah wrote:
>
> On 2/3/2020 10:38 PM, Sudeep Holla wrote:
> > On Mon, Feb 03, 2020 at 07:05:38PM +0530, Maulik Shah wrote:
> > > From: Ulf Hansson <ulf.hansson@linaro.org>
> > >
> > > If the hierarchical CPU topology is used, but the OS initiated mode isn't
> > > supported, we need to rely solely on the regular cpuidle framework to
> > > manage the idle state selection, rather than using genpd and its
> > > governor.
> > >
> > > For this reason, introduce a new PSCI DT helper function,
> > > psci_dt_pm_domains_parse_states(), which parses and converts the
> > > hierarchically described domain idle states from DT, into regular flattened
> > > cpuidle states. The converted states are added to the existing cpuidle
> > > driver's array of idle states, which make them available for cpuidle.
> > >
> > And what's the main motivation for this if OSI is not supported in the
> > firmware ?
>
> Hi Sudeep,
>
> Main motivation is to do last-man activities before the CPU cluster can
> enter a deep idle state.
>

Details on those last-man activities will help the discussion. Basically
I am wondering what they are and why they need to done in OSPM ?

> > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > > [applied to new path, resolved conflicts]
> > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
> > > ---
> > >   drivers/cpuidle/cpuidle-psci-domain.c | 137 +++++++++++++++++++++++++++++-----
> > >   drivers/cpuidle/cpuidle-psci.c        |  41 +++++-----
> > >   drivers/cpuidle/cpuidle-psci.h        |  11 +++
> > >   3 files changed, 153 insertions(+), 36 deletions(-)
> > >
> > > diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> > > index 423f03b..3c417f7 100644
> > > --- a/drivers/cpuidle/cpuidle-psci-domain.c
> > > +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> > > @@ -26,13 +26,17 @@ struct psci_pd_provider {
> > >   };
> > >
> > >   static LIST_HEAD(psci_pd_providers);
> > > -static bool osi_mode_enabled __initdata;
> > > +static bool osi_mode_enabled;
> > >
> > >   static int psci_pd_power_off(struct generic_pm_domain *pd)
> > >   {
> > >   	struct genpd_power_state *state = &pd->states[pd->state_idx];
> > >   	u32 *pd_state;
> > >
> > > +	/* If we have failed to enable OSI mode, then abort power off. */
> > > +	if ((psci_has_osi_support()) && !osi_mode_enabled)
> > > +		return -EBUSY;
> > > +
> > Why is this needed ? IIUC we don't create genpd domains if OSI is not
> > enabled.
>
> we do create genpd domains, for cpu domains, we just abort power off here
> since idle states are converted into regular flattened mode.
>

OK, IIRC the OSI patches from Ulf didn't add the genpd or rather removed
them in case of any failure to enable OSI. Has that been changed ? If so,
why ?

> however genpd poweroff will be used by parent domain (rsc in this case)
> which is kept in hireachy in DTSI with cluster domain to do last man
> activities.
>

I am bit confused here. Either we do OSI or PC and what you are describing
sounds like a mix-n-match to me and I am totally against it.

--
Regards,
Sudeep

WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com>
To: Maulik Shah <mkshah@codeaurora.org>
Cc: dianders@chromium.org, lsrao@codeaurora.org,
	Lorenzo.Pieralisi@arm.com, rnayak@codeaurora.org,
	linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	rjw@rjwysocki.net, linux-kernel@vger.kernel.org,
	evgreen@chromium.org, swboyd@chromium.org,
	david.brown@linaro.org, agross@kernel.org, ilina@codeaurora.org,
	Sudeep Holla <sudeep.holla@arm.com>,
	ulf.hansson@linaro.org, bjorn.andersson@linaro.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 5/7] drivers: firmware: psci: Add hierarchical domain idle states converter
Date: Tue, 4 Feb 2020 15:21:32 +0000	[thread overview]
Message-ID: <20200204152132.GA44858@bogus> (raw)
In-Reply-To: <0d7f7ade-3a1e-5428-d851-f1a886f58712@codeaurora.org>

On Tue, Feb 04, 2020 at 10:22:42AM +0530, Maulik Shah wrote:
>
> On 2/3/2020 10:38 PM, Sudeep Holla wrote:
> > On Mon, Feb 03, 2020 at 07:05:38PM +0530, Maulik Shah wrote:
> > > From: Ulf Hansson <ulf.hansson@linaro.org>
> > >
> > > If the hierarchical CPU topology is used, but the OS initiated mode isn't
> > > supported, we need to rely solely on the regular cpuidle framework to
> > > manage the idle state selection, rather than using genpd and its
> > > governor.
> > >
> > > For this reason, introduce a new PSCI DT helper function,
> > > psci_dt_pm_domains_parse_states(), which parses and converts the
> > > hierarchically described domain idle states from DT, into regular flattened
> > > cpuidle states. The converted states are added to the existing cpuidle
> > > driver's array of idle states, which make them available for cpuidle.
> > >
> > And what's the main motivation for this if OSI is not supported in the
> > firmware ?
>
> Hi Sudeep,
>
> Main motivation is to do last-man activities before the CPU cluster can
> enter a deep idle state.
>

Details on those last-man activities will help the discussion. Basically
I am wondering what they are and why they need to done in OSPM ?

> > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > > [applied to new path, resolved conflicts]
> > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
> > > ---
> > >   drivers/cpuidle/cpuidle-psci-domain.c | 137 +++++++++++++++++++++++++++++-----
> > >   drivers/cpuidle/cpuidle-psci.c        |  41 +++++-----
> > >   drivers/cpuidle/cpuidle-psci.h        |  11 +++
> > >   3 files changed, 153 insertions(+), 36 deletions(-)
> > >
> > > diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> > > index 423f03b..3c417f7 100644
> > > --- a/drivers/cpuidle/cpuidle-psci-domain.c
> > > +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> > > @@ -26,13 +26,17 @@ struct psci_pd_provider {
> > >   };
> > >
> > >   static LIST_HEAD(psci_pd_providers);
> > > -static bool osi_mode_enabled __initdata;
> > > +static bool osi_mode_enabled;
> > >
> > >   static int psci_pd_power_off(struct generic_pm_domain *pd)
> > >   {
> > >   	struct genpd_power_state *state = &pd->states[pd->state_idx];
> > >   	u32 *pd_state;
> > >
> > > +	/* If we have failed to enable OSI mode, then abort power off. */
> > > +	if ((psci_has_osi_support()) && !osi_mode_enabled)
> > > +		return -EBUSY;
> > > +
> > Why is this needed ? IIUC we don't create genpd domains if OSI is not
> > enabled.
>
> we do create genpd domains, for cpu domains, we just abort power off here
> since idle states are converted into regular flattened mode.
>

OK, IIRC the OSI patches from Ulf didn't add the genpd or rather removed
them in case of any failure to enable OSI. Has that been changed ? If so,
why ?

> however genpd poweroff will be used by parent domain (rsc in this case)
> which is kept in hireachy in DTSI with cluster domain to do last man
> activities.
>

I am bit confused here. Either we do OSI or PC and what you are describing
sounds like a mix-n-match to me and I am totally against it.

--
Regards,
Sudeep

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-02-04 15:21 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-03 13:35 [PATCH v3 0/7] Add RSC power domain support Maulik Shah
2020-02-03 13:35 ` Maulik Shah
2020-02-03 13:35 ` [PATCH v3 1/7] drivers: qcom: rpmh: fix macro to accept NULL argument Maulik Shah
2020-02-03 13:35   ` Maulik Shah
2020-02-03 13:35 ` [PATCH v3 2/7] drivers: qcom: rpmh: remove rpmh_flush export Maulik Shah
2020-02-03 13:35   ` Maulik Shah
2020-02-03 13:35 ` [PATCH v3 3/7] dt-bindings: soc: qcom: Add RSC power domain specifier Maulik Shah
2020-02-03 13:35   ` Maulik Shah
2020-02-03 13:35 ` [PATCH v3 4/7] drivers: qcom: rpmh-rsc: Add RSC power domain support Maulik Shah
2020-02-03 13:35   ` Maulik Shah
2020-02-03 13:35 ` [PATCH v3 5/7] drivers: firmware: psci: Add hierarchical domain idle states converter Maulik Shah
2020-02-03 13:35   ` Maulik Shah
2020-02-03 17:08   ` Sudeep Holla
2020-02-03 17:08     ` Sudeep Holla
2020-02-04  4:52     ` Maulik Shah
2020-02-04  4:52       ` Maulik Shah
2020-02-04 15:21       ` Sudeep Holla [this message]
2020-02-04 15:21         ` Sudeep Holla
2020-02-05 12:23         ` Maulik Shah
2020-02-05 12:23           ` Maulik Shah
2020-02-05 14:06           ` Sudeep Holla
2020-02-05 14:06             ` Sudeep Holla
2020-02-05 15:55             ` Ulf Hansson
2020-02-05 15:55               ` Ulf Hansson
2020-02-05 16:18               ` Sudeep Holla
2020-02-05 16:18                 ` Sudeep Holla
2020-02-06  8:45                 ` Ulf Hansson
2020-02-06  8:45                   ` Ulf Hansson
2020-02-06 20:45                   ` Lina Iyer
2020-02-06 20:45                     ` Lina Iyer
2020-02-07 11:20                     ` Sudeep Holla
2020-02-07 11:20                       ` Sudeep Holla
2020-02-07 12:32                       ` Ulf Hansson
2020-02-07 12:32                         ` Ulf Hansson
2020-02-07 14:48                         ` Lorenzo Pieralisi
2020-02-07 14:48                           ` Lorenzo Pieralisi
2020-02-07 15:52                           ` Ulf Hansson
2020-02-07 15:52                             ` Ulf Hansson
2020-02-07 16:15                             ` Sudeep Holla
2020-02-07 16:15                               ` Sudeep Holla
2020-02-08 10:25                               ` Ulf Hansson
2020-02-08 10:25                                 ` Ulf Hansson
2020-02-10 10:31                                 ` Sudeep Holla
2020-02-10 10:31                                   ` Sudeep Holla
2020-02-07 16:05                         ` Sudeep Holla
2020-02-07 16:05                           ` Sudeep Holla
2020-02-06 21:11             ` Bjorn Andersson
2020-02-06 21:11               ` Bjorn Andersson
2020-02-07 11:25               ` Sudeep Holla
2020-02-07 11:25                 ` Sudeep Holla
2020-02-03 13:35 ` [PATCH v3 6/7] arm64: dts: qcom: sc7180: Add cpuidle low power states Maulik Shah
2020-02-03 13:35   ` Maulik Shah
2020-02-04 23:15   ` Matthias Kaehlcke
2020-02-04 23:15     ` Matthias Kaehlcke
2020-02-05 12:07     ` Maulik Shah
2020-02-05 12:07       ` Maulik Shah
2020-02-03 13:35 ` [PATCH v3 7/7] arm64: dts: qcom: sc7180: Convert to the hierarchical CPU topology layout Maulik Shah
2020-02-03 13:35   ` Maulik Shah

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=20200204152132.GA44858@bogus \
    --to=sudeep.holla@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=david.brown@linaro.org \
    --cc=dianders@chromium.org \
    --cc=evgreen@chromium.org \
    --cc=ilina@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lsrao@codeaurora.org \
    --cc=mkshah@codeaurora.org \
    --cc=rjw@rjwysocki.net \
    --cc=rnayak@codeaurora.org \
    --cc=swboyd@chromium.org \
    --cc=ulf.hansson@linaro.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.