All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
To: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Subject: Re: [PATCH v2 2/2] ARM: tegra: Disable cpuidle driver if PSCI is present
Date: Tue, 6 Oct 2015 09:36:22 +0100	[thread overview]
Message-ID: <56138806.2010502@siemens.com> (raw)
In-Reply-To: <20151006082106.GB21527-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2015-10-06 09:21, Thierry Reding wrote:
> On Wed, Sep 23, 2015 at 08:39:44AM +0200, Jan Kiszka wrote:
>> The firmware takes over the ownership of the flow controller when
>> it provides PSCI support. To avoid clashes, disable the Tegra
>> cpuidle driver if PSCI was detected.
>> 
>> Signed-off-by: Jan Kiszka <jan.kiszka-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org> --- 
>> arch/arm/mach-tegra/Kconfig | 1 + arch/arm/mach-tegra/tegra.c | 4
>> +++- 2 files changed, 4 insertions(+), 1 deletion(-)
>> 
>> diff --git a/arch/arm/mach-tegra/Kconfig
>> b/arch/arm/mach-tegra/Kconfig index 0fa4c5f..373768c 100644 ---
>> a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig 
>> @@ -4,6 +4,7 @@ menuconfig ARCH_TEGRA select
>> ARCH_SUPPORTS_TRUSTED_FOUNDATIONS select ARM_AMBA select ARM_GIC 
>> +	select ARM_PSCI select CLKSRC_MMIO select HAVE_ARM_SCU if SMP 
>> select HAVE_ARM_TWD if SMP diff --git
>> a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c index
>> 2378fa56..d97c961 100644 --- a/arch/arm/mach-tegra/tegra.c +++
>> b/arch/arm/mach-tegra/tegra.c @@ -44,6 +44,7 @@ #include
>> <asm/mach-types.h> #include <asm/setup.h> #include
>> <asm/trusted_foundations.h> +#include <asm/psci.h>
>> 
>> #include "board.h" #include "common.h" @@ -136,7 +137,8 @@ static
>> void __init tegra_dt_init_late(void) int i;
>> 
>> tegra_init_suspend(); -	tegra_cpuidle_init(); +	if
>> (!psci_smp_available()) +		tegra_cpuidle_init();
>> 
>> for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) { if
>> (of_machine_is_compatible(board_init_funcs[i].machine)) {
> 
> The equivalent of this part is already in cpuidle-tegra114.c and
> I'm not sure this adds anything. cpuidle-tegra114.c is the same
> code that is used on Tegra124. Anything before Tegra114 is now
> unlikely to gain PSCI support. Given that they're Cortex-A9 and
> lack virtualization extensions I don't think it's even possible to
> support PSCI on them. Anything after Tegra124 will very likely be
> 64-bit and hence require firmware support (such as PSCI) for CPU
> idle anyway.

Oh, missed that change.

> 
> That still leaves the select ARM_PSCI which we don't have in
> mainline yet. I'm also not sure if select ARM_PSCI is the right
> approach here. It means that everyone will be forced to have PSCI
> support in the kernel. But what if for some reason you want to
> disable PSCI (and instead use the kernel's cpuidle support)? Maybe
> it'd be better to add this to the tegra_defconfig instead.

Would be fine with me as well.

Jan

- -- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlYTiAYACgkQitSsb3rl5xSJnQCg7IRy0ju/r0Ka70WCWYRZPGDR
Z1MAnRTWStY3BOI4yK8mL7CLYAbumUCD
=uAvw
-----END PGP SIGNATURE-----

WARNING: multiple messages have this Message-ID (diff)
From: jan.kiszka@siemens.com (Jan Kiszka)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] ARM: tegra: Disable cpuidle driver if PSCI is present
Date: Tue, 6 Oct 2015 09:36:22 +0100	[thread overview]
Message-ID: <56138806.2010502@siemens.com> (raw)
In-Reply-To: <20151006082106.GB21527@ulmo.nvidia.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2015-10-06 09:21, Thierry Reding wrote:
> On Wed, Sep 23, 2015 at 08:39:44AM +0200, Jan Kiszka wrote:
>> The firmware takes over the ownership of the flow controller when
>> it provides PSCI support. To avoid clashes, disable the Tegra
>> cpuidle driver if PSCI was detected.
>> 
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- 
>> arch/arm/mach-tegra/Kconfig | 1 + arch/arm/mach-tegra/tegra.c | 4
>> +++- 2 files changed, 4 insertions(+), 1 deletion(-)
>> 
>> diff --git a/arch/arm/mach-tegra/Kconfig
>> b/arch/arm/mach-tegra/Kconfig index 0fa4c5f..373768c 100644 ---
>> a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig 
>> @@ -4,6 +4,7 @@ menuconfig ARCH_TEGRA select
>> ARCH_SUPPORTS_TRUSTED_FOUNDATIONS select ARM_AMBA select ARM_GIC 
>> +	select ARM_PSCI select CLKSRC_MMIO select HAVE_ARM_SCU if SMP 
>> select HAVE_ARM_TWD if SMP diff --git
>> a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c index
>> 2378fa56..d97c961 100644 --- a/arch/arm/mach-tegra/tegra.c +++
>> b/arch/arm/mach-tegra/tegra.c @@ -44,6 +44,7 @@ #include
>> <asm/mach-types.h> #include <asm/setup.h> #include
>> <asm/trusted_foundations.h> +#include <asm/psci.h>
>> 
>> #include "board.h" #include "common.h" @@ -136,7 +137,8 @@ static
>> void __init tegra_dt_init_late(void) int i;
>> 
>> tegra_init_suspend(); -	tegra_cpuidle_init(); +	if
>> (!psci_smp_available()) +		tegra_cpuidle_init();
>> 
>> for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) { if
>> (of_machine_is_compatible(board_init_funcs[i].machine)) {
> 
> The equivalent of this part is already in cpuidle-tegra114.c and
> I'm not sure this adds anything. cpuidle-tegra114.c is the same
> code that is used on Tegra124. Anything before Tegra114 is now
> unlikely to gain PSCI support. Given that they're Cortex-A9 and
> lack virtualization extensions I don't think it's even possible to
> support PSCI on them. Anything after Tegra124 will very likely be
> 64-bit and hence require firmware support (such as PSCI) for CPU
> idle anyway.

Oh, missed that change.

> 
> That still leaves the select ARM_PSCI which we don't have in
> mainline yet. I'm also not sure if select ARM_PSCI is the right
> approach here. It means that everyone will be forced to have PSCI
> support in the kernel. But what if for some reason you want to
> disable PSCI (and instead use the kernel's cpuidle support)? Maybe
> it'd be better to add this to the tegra_defconfig instead.

Would be fine with me as well.

Jan

- -- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlYTiAYACgkQitSsb3rl5xSJnQCg7IRy0ju/r0Ka70WCWYRZPGDR
Z1MAnRTWStY3BOI4yK8mL7CLYAbumUCD
=uAvw
-----END PGP SIGNATURE-----

  parent reply	other threads:[~2015-10-06  8:36 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-23  6:39 [PATCH v2 0/2] Make Tegra cpuidle driver PSCI compatible Jan Kiszka
2015-09-23  6:39 ` Jan Kiszka
     [not found] ` <cover.1442990383.git.jan.kiszka-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2015-09-23  6:39   ` [PATCH v2 1/2] ARM: Availability of psci_smp_available depends on CONFIG_SMP Jan Kiszka
2015-09-23  6:39     ` Jan Kiszka
     [not found]     ` <8b94f7869972d64f442f97208707a5856cbc8b14.1442990383.git.jan.kiszka-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2015-10-06  8:11       ` Thierry Reding
2015-10-06  8:11         ` Thierry Reding
     [not found]         ` <20151006081122.GA21527-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-10-06 15:18           ` Will Deacon
2015-10-06 15:18             ` Will Deacon
     [not found]             ` <20151006151857.GA2416-5wv7dgnIgG8@public.gmane.org>
2015-10-08 16:04               ` Thierry Reding
2015-10-08 16:04                 ` Thierry Reding
2015-11-12  9:43               ` Sebastian Andrzej Siewior
2015-11-12  9:43                 ` Sebastian Andrzej Siewior
     [not found]                 ` <20151112094332.GA4645-E0PNVn5OA6ohrxcnuTQ+TQ@public.gmane.org>
2015-11-12  9:49                   ` Will Deacon
2015-11-12  9:49                     ` Will Deacon
     [not found]                     ` <20151112094920.GB20270-5wv7dgnIgG8@public.gmane.org>
2015-11-12 10:07                       ` Sebastian Andrzej Siewior
2015-11-12 10:07                         ` Sebastian Andrzej Siewior
2015-09-23  6:39 ` [PATCH v2 2/2] ARM: tegra: Disable cpuidle driver if PSCI is present Jan Kiszka
2015-09-23  6:39   ` Jan Kiszka
     [not found]   ` <5151ffebe8611545c55f8cc499cf2368b1b789c4.1442990383.git.jan.kiszka-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2015-10-06  8:21     ` Thierry Reding
2015-10-06  8:21       ` Thierry Reding
     [not found]       ` <20151006082106.GB21527-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-10-06  8:36         ` Jan Kiszka [this message]
2015-10-06  8:36           ` Jan Kiszka

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=56138806.2010502@siemens.com \
    --to=jan.kiszka-kv7wefo6altbdgjk7y7tuq@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.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.