All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linux-pm@vger.kernel.org, Ulf Hansson <ulf.hansson@linaro.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	LAKML <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 4/6] ARM: psci: cpuidle: Introduce PSCI CPUidle driver
Date: Tue, 6 Aug 2019 17:10:33 +0100	[thread overview]
Message-ID: <20190806161033.GD16546@e107155-lin> (raw)
In-Reply-To: <20190722153745.32446-5-lorenzo.pieralisi@arm.com>

On Mon, Jul 22, 2019 at 04:37:43PM +0100, Lorenzo Pieralisi wrote:
> PSCI firmware is the standard power management control for
> all ARM64 based platforms and it is also deployed on some
> ARM 32 bit platforms to date.
>
> Idle state entry in PSCI is currently achieved by calling
> arm_cpuidle_init() and arm_cpuidle_suspend() in a generic
> idle driver, which in turn relies on ARM/ARM64 CPUidle back-end
> to relay the call into PSCI firmware if PSCI is the boot method.
>
> Given that PSCI is the standard idle entry method on ARM64 systems
> (which means that no other CPUidle driver are expected on ARM64
> platforms - so PSCI is already a generic idle driver), in order to
> simplify idle entry and code maintenance, it makes sense to have a PSCI
> specific idle driver so that idle code that it is currently living in
> drivers/firmware directory can be hoisted out of it and moved
> where it belongs, into a full-fledged PSCI driver, leaving PSCI code
> in drivers/firmware as a pure firmware interface, as it should be.
>
> Implement a PSCI CPUidle driver. By default it is a silent Kconfig entry
> which is left unselected, since it selection would clash with the
> generic ARM CPUidle driver that provides a PSCI based idle driver
> through the arm/arm64 arches back-ends CPU operations.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>

Once the error path issues pointed by Ulf are resolved,

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>

> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> ---
>  MAINTAINERS                    |   8 ++
>  drivers/cpuidle/Kconfig.arm    |   3 +
>  drivers/cpuidle/Makefile       |   1 +
>  drivers/cpuidle/cpuidle-psci.c | 150 +++++++++++++++++++++++++++++++++
>  4 files changed, 162 insertions(+)
>  create mode 100644 drivers/cpuidle/cpuidle-psci.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 783569e3c4b4..c2bf8ce65e83 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4286,6 +4286,14 @@ S:	Supported
>  F:	drivers/cpuidle/cpuidle-exynos.c
>  F:	arch/arm/mach-exynos/pm.c
>
> +CPUIDLE DRIVER - ARM PSCI
> +M:	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +M:	Sudeep Holla <sudeep.holla@arm.com>
> +L:	linux-pm@vger.kernel.org
> +L:	linux-arm-kernel@lists.infradead.org
> +S:	Supported
> +F:	drivers/cpuidle/cpuidle-psci.c
> +
>  CPU IDLE TIME MANAGEMENT FRAMEWORK
>  M:	"Rafael J. Wysocki" <rjw@rjwysocki.net>
>  M:	Daniel Lezcano <daniel.lezcano@linaro.org>
> diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
> index 48cb3d4bb7d1..929b57424ea4 100644
> --- a/drivers/cpuidle/Kconfig.arm
> +++ b/drivers/cpuidle/Kconfig.arm
> @@ -13,6 +13,9 @@ config ARM_CPUIDLE
>            initialized by calling the CPU operations init idle hook
>            provided by architecture code.
>
> +config ARM_PSCI_CPUIDLE
> +	bool
> +

[nit] I understand the intention to keep it hidden, but can't we have
the dependency and selection of other config as part of this patch to
make it more complete ?

--
Regards,
Sudeep

WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	linux-pm@vger.kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	LKML <linux-kernel@vger.kernel.org>,
	Will Deacon <will@kernel.org>,
	LAKML <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 4/6] ARM: psci: cpuidle: Introduce PSCI CPUidle driver
Date: Tue, 6 Aug 2019 17:10:33 +0100	[thread overview]
Message-ID: <20190806161033.GD16546@e107155-lin> (raw)
In-Reply-To: <20190722153745.32446-5-lorenzo.pieralisi@arm.com>

On Mon, Jul 22, 2019 at 04:37:43PM +0100, Lorenzo Pieralisi wrote:
> PSCI firmware is the standard power management control for
> all ARM64 based platforms and it is also deployed on some
> ARM 32 bit platforms to date.
>
> Idle state entry in PSCI is currently achieved by calling
> arm_cpuidle_init() and arm_cpuidle_suspend() in a generic
> idle driver, which in turn relies on ARM/ARM64 CPUidle back-end
> to relay the call into PSCI firmware if PSCI is the boot method.
>
> Given that PSCI is the standard idle entry method on ARM64 systems
> (which means that no other CPUidle driver are expected on ARM64
> platforms - so PSCI is already a generic idle driver), in order to
> simplify idle entry and code maintenance, it makes sense to have a PSCI
> specific idle driver so that idle code that it is currently living in
> drivers/firmware directory can be hoisted out of it and moved
> where it belongs, into a full-fledged PSCI driver, leaving PSCI code
> in drivers/firmware as a pure firmware interface, as it should be.
>
> Implement a PSCI CPUidle driver. By default it is a silent Kconfig entry
> which is left unselected, since it selection would clash with the
> generic ARM CPUidle driver that provides a PSCI based idle driver
> through the arm/arm64 arches back-ends CPU operations.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>

Once the error path issues pointed by Ulf are resolved,

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>

> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> ---
>  MAINTAINERS                    |   8 ++
>  drivers/cpuidle/Kconfig.arm    |   3 +
>  drivers/cpuidle/Makefile       |   1 +
>  drivers/cpuidle/cpuidle-psci.c | 150 +++++++++++++++++++++++++++++++++
>  4 files changed, 162 insertions(+)
>  create mode 100644 drivers/cpuidle/cpuidle-psci.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 783569e3c4b4..c2bf8ce65e83 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4286,6 +4286,14 @@ S:	Supported
>  F:	drivers/cpuidle/cpuidle-exynos.c
>  F:	arch/arm/mach-exynos/pm.c
>
> +CPUIDLE DRIVER - ARM PSCI
> +M:	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +M:	Sudeep Holla <sudeep.holla@arm.com>
> +L:	linux-pm@vger.kernel.org
> +L:	linux-arm-kernel@lists.infradead.org
> +S:	Supported
> +F:	drivers/cpuidle/cpuidle-psci.c
> +
>  CPU IDLE TIME MANAGEMENT FRAMEWORK
>  M:	"Rafael J. Wysocki" <rjw@rjwysocki.net>
>  M:	Daniel Lezcano <daniel.lezcano@linaro.org>
> diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
> index 48cb3d4bb7d1..929b57424ea4 100644
> --- a/drivers/cpuidle/Kconfig.arm
> +++ b/drivers/cpuidle/Kconfig.arm
> @@ -13,6 +13,9 @@ config ARM_CPUIDLE
>            initialized by calling the CPU operations init idle hook
>            provided by architecture code.
>
> +config ARM_PSCI_CPUIDLE
> +	bool
> +

[nit] I understand the intention to keep it hidden, but can't we have
the dependency and selection of other config as part of this patch to
make it more complete ?

--
Regards,
Sudeep

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

  parent reply	other threads:[~2019-08-06 16:10 UTC|newest]

Thread overview: 74+ 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 ` Lorenzo Pieralisi
2019-07-22 15:37 ` [PATCH 1/6] ARM: cpuidle: Remove useless header include Lorenzo Pieralisi
2019-07-22 15:37   ` Lorenzo Pieralisi
2019-08-06 15:51   ` Sudeep Holla
2019-08-06 15:51     ` Sudeep Holla
2019-08-07  8:19   ` Daniel Lezcano
2019-08-07  8:19     ` Daniel Lezcano
2019-07-22 15:37 ` [PATCH 2/6] ARM: cpuidle: Remove overzealous error logging Lorenzo Pieralisi
2019-07-22 15:37   ` Lorenzo Pieralisi
2019-08-06 15:51   ` Sudeep Holla
2019-08-06 15:51     ` Sudeep Holla
2019-08-07  8:20   ` Daniel Lezcano
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-07-22 15:37   ` Lorenzo Pieralisi
2019-08-06 15:54   ` Sudeep Holla
2019-08-06 15:54     ` Sudeep Holla
2019-08-07 14:09   ` Daniel Lezcano
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-22 15:37   ` Lorenzo Pieralisi
2019-07-23 11:46   ` Ulf Hansson
2019-07-23 11:46     ` Ulf Hansson
2019-07-23 14:15     ` Lorenzo Pieralisi
2019-07-23 14:15       ` Lorenzo Pieralisi
2019-08-06 16:10   ` Sudeep Holla [this message]
2019-08-06 16:10     ` Sudeep Holla
2019-08-06 16:34     ` Lorenzo Pieralisi
2019-08-06 16:34       ` Lorenzo Pieralisi
2019-08-07 16:30   ` Daniel Lezcano
2019-08-07 16:30     ` Daniel Lezcano
2019-07-22 15:37 ` [PATCH 5/6] ARM: psci: cpuidle: Enable " Lorenzo Pieralisi
2019-07-22 15:37   ` Lorenzo Pieralisi
2019-08-06 16:16   ` Sudeep Holla
2019-08-06 16:16     ` Sudeep Holla
2019-08-06 16:40     ` Lorenzo Pieralisi
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-22 15:37   ` Lorenzo Pieralisi
2019-07-23 11:47   ` Ulf Hansson
2019-07-23 11:47     ` Ulf Hansson
2019-08-07 18:09   ` Daniel Lezcano
2019-08-07 18:09     ` Daniel Lezcano
2019-08-08 12:55   ` Sudeep Holla
2019-08-08 12:55     ` Sudeep Holla
2019-08-08 15:29     ` Ulf Hansson
2019-08-08 15:29       ` Ulf Hansson
2019-08-08 16:04       ` Sudeep Holla
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 11:49   ` Ulf Hansson
2019-07-23 14:19   ` Lorenzo Pieralisi
2019-07-23 14:19     ` Lorenzo Pieralisi
2019-08-09 11:03 ` [PATCH v2 0/8] " Lorenzo Pieralisi
2019-08-09 11:03   ` Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 1/8] ARM: cpuidle: Remove useless header include Lorenzo Pieralisi
2019-08-09 11:03     ` Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 2/8] ARM: cpuidle: Remove overzealous error logging Lorenzo Pieralisi
2019-08-09 11:03     ` 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     ` 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     ` Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 5/8] ARM: psci: cpuidle: Enable " Lorenzo Pieralisi
2019-08-09 11:03     ` 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     ` Lorenzo Pieralisi
2019-08-09 11:03   ` [PATCH v2 7/8] arm64: defconfig: Enable the PSCI CPUidle driver Lorenzo Pieralisi
2019-08-09 11:03     ` Lorenzo Pieralisi
2019-08-09 16:53     ` Will Deacon
2019-08-09 16:53       ` Will Deacon
2019-08-09 11:03   ` [PATCH v2 8/8] ARM: imx_v6_v7_defconfig: " Lorenzo Pieralisi
2019-08-09 11:03     ` 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=20190806161033.GD16546@e107155-lin \
    --to=sudeep.holla@arm.com \
    --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=ulf.hansson@linaro.org \
    --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 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.