linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ulf Hansson <ulf.hansson@linaro.org>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Linux PM <linux-pm@vger.kernel.org>,
	Will Deacon <will@kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	LKML <linux-kernel@vger.kernel.org>,
	LAKML <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 6/6] PSCI: cpuidle: Refactor CPU suspend power_state parameter handling
Date: Thu, 8 Aug 2019 17:29:24 +0200	[thread overview]
Message-ID: <CAPDyKFqHHwq=3XhSH_=uu5QoFkP3VYJ+2h7ENG5DNs-YzM6bNQ@mail.gmail.com> (raw)
In-Reply-To: <20190808125516.GA2246@e107155-lin>

On Thu, 8 Aug 2019 at 14:55, Sudeep Holla <sudeep.holla@arm.com> wrote:
>
> On Mon, Jul 22, 2019 at 04:37:45PM +0100, Lorenzo Pieralisi wrote:
> > Current PSCI code handles idle state entry through the
> > psci_cpu_suspend_enter() API, that takes an idle state index as a
> > parameter and convert the index into a previously initialized
> > power_state parameter before calling the PSCI.CPU_SUSPEND() with it.
> >
> > This is unwieldly, since it forces the PSCI firmware layer to keep track
> > of power_state parameter for every idle state so that the
> > index->power_state conversion can be made in the PSCI firmware layer
> > instead of the CPUidle driver implementations.
> >
> > Move the power_state handling out of drivers/firmware/psci
> > into the respective ACPI/DT PSCI CPUidle backends and convert
> > the psci_cpu_suspend_enter() API to get the power_state
> > parameter as input, which makes it closer to its firmware
> > interface PSCI.CPU_SUSPEND() API.
> >
> > A notable side effect is that the PSCI ACPI/DT CPUidle backends
> > now can directly handle (and if needed update) power_state
> > parameters before handing them over to the PSCI firmware
> > interface to trigger PSCI.CPU_SUSPEND() calls.
> >
> > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Ulf Hansson <ulf.hansson@linaro.org>
> > Cc: Sudeep Holla <sudeep.holla@arm.com>
>
> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
>
> > +static __init int psci_cpu_init_idle(unsigned int cpu)
> > +{
> > +     struct device_node *cpu_node;
> > +     int ret;
> > +
> > +     /*
> > +      * If the PSCI cpu_suspend function hook has not been initialized
> > +      * idle states must not be enabled, so bail out
> > +      */
> > +     if (!psci_ops.cpu_suspend)
> > +             return -EOPNOTSUPP;
> > +
> > +     cpu_node = of_get_cpu_node(cpu, NULL);
>
> [nit] You could use of_cpu_device_node_get in linux/of_device.h as
> it may avoid parsing if used later during the boot(i.e. after
> cpu->of_node is populated). I think there's another instance in
> psci_idle_init_cpu

Good idea!

However, as $subject patch more or less just moves code from the
current psci firmware directory into cpuidle, perhaps it's better to
defer improvements to be made on top?

Kind regards
Uffe

  reply	other threads:[~2019-08-08 15:30 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-22 15:37 [PATCH 0/6] ARM: psci: cpuidle: PSCI CPUidle rework Lorenzo Pieralisi
2019-07-22 15:37 ` [PATCH 1/6] ARM: cpuidle: Remove useless header include Lorenzo Pieralisi
2019-08-06 15:51   ` Sudeep Holla
2019-08-07  8:19   ` Daniel Lezcano
2019-07-22 15:37 ` [PATCH 2/6] ARM: cpuidle: Remove overzealous error logging Lorenzo Pieralisi
2019-08-06 15:51   ` Sudeep Holla
2019-08-07  8:20   ` Daniel Lezcano
2019-07-22 15:37 ` [PATCH 3/6] drivers: firmware: psci: Decouple checker from generic ARM CPUidle Lorenzo Pieralisi
2019-08-06 15:54   ` Sudeep Holla
2019-08-07 14:09   ` Daniel Lezcano
2019-07-22 15:37 ` [PATCH 4/6] ARM: psci: cpuidle: Introduce PSCI CPUidle driver Lorenzo Pieralisi
2019-07-23 11:46   ` Ulf Hansson
2019-07-23 14:15     ` Lorenzo Pieralisi
2019-08-06 16:10   ` Sudeep Holla
2019-08-06 16:34     ` Lorenzo Pieralisi
2019-08-07 16:30   ` Daniel Lezcano
2019-07-22 15:37 ` [PATCH 5/6] ARM: psci: cpuidle: Enable " Lorenzo Pieralisi
2019-08-06 16:16   ` Sudeep Holla
2019-08-06 16:40     ` Lorenzo Pieralisi
2019-07-22 15:37 ` [PATCH 6/6] PSCI: cpuidle: Refactor CPU suspend power_state parameter handling Lorenzo Pieralisi
2019-07-23 11:47   ` Ulf Hansson
2019-08-07 18:09   ` Daniel Lezcano
2019-08-08 12:55   ` Sudeep Holla
2019-08-08 15:29     ` Ulf Hansson [this message]
2019-08-08 16:04       ` Sudeep Holla
2019-07-23 11:49 ` [PATCH 0/6] ARM: psci: cpuidle: PSCI CPUidle rework Ulf Hansson
2019-07-23 14:19   ` Lorenzo Pieralisi
2019-08-09 11:03 ` [PATCH v2 0/8] " Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 1/8] ARM: cpuidle: Remove useless header include Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 2/8] ARM: cpuidle: Remove overzealous error logging Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 3/8] drivers: firmware: psci: Decouple checker from generic ARM CPUidle Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 4/8] ARM: psci: cpuidle: Introduce PSCI CPUidle driver Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 5/8] ARM: psci: cpuidle: Enable " Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 6/8] PSCI: cpuidle: Refactor CPU suspend power_state parameter handling Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 7/8] arm64: defconfig: Enable the PSCI CPUidle driver Lorenzo Pieralisi
2019-08-09 16:53     ` Will Deacon
2019-08-09 11:03   ` [PATCH v2 8/8] ARM: imx_v6_v7_defconfig: " Lorenzo Pieralisi

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='CAPDyKFqHHwq=3XhSH_=uu5QoFkP3VYJ+2h7ENG5DNs-YzM6bNQ@mail.gmail.com' \
    --to=ulf.hansson@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=sudeep.holla@arm.com \
    --cc=will@kernel.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).