Re: [PATCH v5 08/14] ARM: tegra: Make outer_disable() open-coded

From: Thierry Reding
Date: Mon Sep 30 2019 - 04:05:21 EST


On Sun, Sep 29, 2019 at 08:59:46PM +0300, Dmitry Osipenko wrote:
> The outer_disable() of Tegra's suspend code is open-coded now since
> that helper produces spurious warning message about secondary CPUs being
> online. The secondaries are actually halted by the cpuidle driver on
> entering into LP2 idle-state. This fixes a storm of warnings once LP2
> idling state is enabled on Tegra30.

If the cpuidle driver halts the secondaries, shouldn't it set it offline
then so that outer_disable() can still work correctly?

Thierry

>
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> ---
> arch/arm/mach-tegra/pm.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
> index 7d9ef26e52a7..16a02937d3da 100644
> --- a/arch/arm/mach-tegra/pm.c
> +++ b/arch/arm/mach-tegra/pm.c
> @@ -146,9 +146,10 @@ static int tegra_sleep_cpu(unsigned long v2p)
> * if any of secondary CPU's is online and this is the LP2-idle
> * code-path only for Tegra20/30.
> */
> - if (trusted_foundations_registered())
> - outer_disable();
> -
> +#ifdef CONFIG_OUTER_CACHE
> + if (trusted_foundations_registered() && outer_cache.disable)
> + outer_cache.disable();
> +#endif
> /*
> * Note that besides of setting up CPU reset vector this firmware
> * call may also do the following, depending on the FW version:
> --
> 2.23.0
>

Attachment: signature.asc
Description: PGP signature