[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <53C65890.8000500@samsung.com>
Date: Wed, 16 Jul 2014 12:48:48 +0200
From: Tomasz Figa <t.figa@...sung.com>
To: Krzysztof Kozlowski <k.kozlowski@...sung.com>,
Russell King <linux@....linux.org.uk>,
Kukjin Kim <kgene.kim@...sung.com>,
linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Kyungmin Park <kyungmin.park@...sung.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
Subject: Re: [RESEND PATCH v2] ARM: exynos4: hotplug: Fix CPU idle clock down
after CPU off
Hi Krzysztof,
Please see my comment below.
On 16.07.2014 10:23, Krzysztof Kozlowski wrote:
> On Exynos4 USE_DELAYED_RESET_ASSERTION must be set in
> ARM_COREx_OPTION register during CPU power down. This is the proper way
> of powering down CPU on Exynos4.
>
> Additionally on Exynos4212 without this the CPU clock down feature won't
> work after powering down some CPU and the online CPUs will work at full
> frequency chosen by CPUfreq governor.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@...sung.com>
[snip]
> @@ -36,6 +36,14 @@ static inline void cpu_leave_lowpower(void)
> : "=&r" (v)
> : "Ir" (CR_C), "Ir" (0x40)
> : "cc");
> +
> + if (soc_is_exynos4()) {
> + unsigned int tmp;
> +
> + tmp = __raw_readl(EXYNOS_ARM_CORE_OPTION(core_id));
> + tmp &= ~(S5P_USE_DELAYED_RESET_ASSERTION);
> + __raw_writel(tmp, EXYNOS_ARM_CORE_OPTION(core_id));
> + }
This code is executed only if the CPU doesn't manage to power off before
already receiving a wake-up event. Otherwise the context is lost after
wfi(), as the core power is being cut down.
The normal wake-up path goes through platsmp's exynos_boot_secondary()
and I believe that setting of S5P_USE_DELAYED_RESET_ASSERTION should be
taken care there as well.
Best regards,
Tomasz
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists