All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/7] ARM: imx: add timer stop flag to ARM power off state
@ 2018-01-10 21:04 ` Stefan Agner
  0 siblings, 0 replies; 21+ messages in thread
From: Stefan Agner @ 2018-01-10 21:04 UTC (permalink / raw)
  To: shawnguo, kernel
  Cc: fabio.estevam, robh+dt, mark.rutland, linux-arm-kernel,
	devicetree, linux-kernel, Stefan Agner, Anson Huang

When the CPU is in ARM power off state the ARM architected
timers are stopped. The flag is already present in the higher
power WAIT mode.

This allows to use the ARM generic timer on i.MX 6UL/6ULL SoC.
Without the flag the kernel freezes when the timer enters the
first time ARM power off mode.

Note: The default timer on i.MX6SX is the i.MX GPT timer which is
not disabled during CPU idle. However, the timer is not affected
by the CPUIDLE_FLAG_TIMER_STOP flag. The flag only affects CPU
local timers.

Cc: Anson Huang <anson.huang@nxp.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
---
 arch/arm/mach-imx/cpuidle-imx6sx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-imx/cpuidle-imx6sx.c b/arch/arm/mach-imx/cpuidle-imx6sx.c
index c5a5c3a70ab1..d0f14b761ff7 100644
--- a/arch/arm/mach-imx/cpuidle-imx6sx.c
+++ b/arch/arm/mach-imx/cpuidle-imx6sx.c
@@ -89,6 +89,7 @@ static struct cpuidle_driver imx6sx_cpuidle_driver = {
 			 */
 			.exit_latency = 300,
 			.target_residency = 500,
+			.flags = CPUIDLE_FLAG_TIMER_STOP,
 			.enter = imx6sx_enter_wait,
 			.name = "LOW-POWER-IDLE",
 			.desc = "ARM power off",
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2018-02-02  6:16 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-10 21:04 [PATCH v2 1/7] ARM: imx: add timer stop flag to ARM power off state Stefan Agner
2018-01-10 21:04 ` Stefan Agner
2018-01-10 21:04 ` [PATCH v2 2/7] ARM: dts: imx6ul: update i.MX 6UltraLite iomux headers Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04 ` [PATCH v2 3/7] ARM: dts: imx6ull: add additional pinfunc defines for i.MX 6ULL Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04 ` [PATCH v2 4/7] ARM: dts: imx6ul: add interrupt of virt-capable GIC Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04 ` [PATCH v2 5/7] ARM: dts: imx6ul: add ARM architected timer Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04 ` [PATCH v2 6/7] ARM: dts: imx6ull: add IOMUXC SNVS instance Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04 ` [PATCH v2 7/7] ARM: dts: imx6ull: add UART8 support Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-01-10 21:04   ` Stefan Agner
2018-02-02  6:16 ` [PATCH v2 1/7] ARM: imx: add timer stop flag to ARM power off state Shawn Guo
2018-02-02  6:16   ` Shawn Guo
2018-02-02  6:16   ` Shawn Guo

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.