linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] Support imx6q WAIT mode with coupled cpuidle
@ 2012-10-23 15:22 Shawn Guo
  2012-10-23 15:22 ` [PATCH 01/10] ARM: imx6q: print silicon version on boot Shawn Guo
                   ` (9 more replies)
  0 siblings, 10 replies; 26+ messages in thread
From: Shawn Guo @ 2012-10-23 15:22 UTC (permalink / raw)
  To: linux-arm-kernel

The imx6q has a low power mode named WAIT.  When all cores are in WFI,
imx6q will go into WAIT mode, and whenever there is a wakeup interrupt,
it will exit WAIT mode.  Software can configure hardware behavior during
WAIT mode, clock gating or power gating for ARM core.

The series implements ARM clock gating and power gating in WAIT mode
as two coupled cpuidle states, wait and srpg.  Though imx6q hardware
already handles sequencing, the voting provided by coupled cpuidle is
still quite useful, which will allow the system to at least get into
clock gating when one cpu wants clock gating and the other wants power
gating.

Patches 1 ~ 9 make necessary code changes to prepare for WAIT mode
enabling, and the last patch enables the feature eventually.

As WAIT mode is broken on TO1.0 silicon, the feature is only provided
for revisions later than TO1.0.

Shawn Guo (10):
  ARM: imx6q: print silicon version on boot
  ARM: imx: allow timer counter to roll over
  ARM: imx6q: select ARM and PL310 errata
  ARM: imx: initialize cpu power up counters
  ARM: imx: mask gpc interrupts initially
  ARM: imx6q: prepare imx6q_set_lpm for cpudile support
  ARM: imx6q: get v7_cpu_resume ready for cpuidle
  ARM: imx: move imx6q_cpuidle_driver into a separate file
  ARM: SMP: add function arch_send_wakeup_ipi_mask()
  ARM: imx6q: implement WAIT mode with coupled cpuidle

 arch/arm/include/asm/smp.h        |    1 +
 arch/arm/kernel/smp.c             |    5 ++
 arch/arm/mach-imx/Kconfig         |    9 ++
 arch/arm/mach-imx/Makefile        |    6 +-
 arch/arm/mach-imx/clk-imx6q.c     |   32 +++++--
 arch/arm/mach-imx/common.h        |    6 +-
 arch/arm/mach-imx/cpuidle-imx6q.c |  177 +++++++++++++++++++++++++++++++++++++
 arch/arm/mach-imx/cpuidle.c       |    3 +
 arch/arm/mach-imx/cpuidle.h       |    5 ++
 arch/arm/mach-imx/gpc.c           |   20 +++--
 arch/arm/mach-imx/headsmp.S       |   81 ++++++++++++++++-
 arch/arm/mach-imx/mach-imx6q.c    |   45 +++++++---
 arch/arm/mach-imx/platsmp.c       |   26 ++++--
 arch/arm/mach-imx/pm-imx6q.c      |    1 -
 arch/arm/mach-imx/time.c          |    6 +-
 15 files changed, 384 insertions(+), 39 deletions(-)
 create mode 100644 arch/arm/mach-imx/cpuidle-imx6q.c

-- 
1.7.9.5

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

end of thread, other threads:[~2013-11-29  2:10 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-23 15:22 [PATCH 00/10] Support imx6q WAIT mode with coupled cpuidle Shawn Guo
2012-10-23 15:22 ` [PATCH 01/10] ARM: imx6q: print silicon version on boot Shawn Guo
2012-11-15 18:09   ` Moseley, Drew
2012-11-16  2:23     ` Shawn Guo
2012-11-16  6:25       ` Dirk Behme
2012-11-16  6:54         ` Shawn Guo
2012-11-16  6:39       ` Shawn Guo
2012-10-23 15:22 ` [PATCH 02/10] ARM: imx: allow timer counter to roll over Shawn Guo
2012-10-23 15:22 ` [PATCH 03/10] ARM: imx6q: select ARM and PL310 errata Shawn Guo
2013-11-28 12:44   ` Dirk Behme
2013-11-29  2:10     ` Shawn Guo
2012-10-23 15:22 ` [PATCH 04/10] ARM: imx: initialize cpu power up counters Shawn Guo
2012-10-23 15:22 ` [PATCH 05/10] ARM: imx: mask gpc interrupts initially Shawn Guo
2012-10-23 15:22 ` [PATCH 06/10] ARM: imx6q: prepare imx6q_set_lpm for cpudile support Shawn Guo
2012-10-23 15:22 ` [PATCH 07/10] ARM: imx6q: get v7_cpu_resume ready for cpuidle Shawn Guo
2012-10-23 15:22 ` [PATCH 08/10] ARM: imx: move imx6q_cpuidle_driver into a separate file Shawn Guo
2012-10-23 15:22 ` [PATCH 09/10] ARM: SMP: add function arch_send_wakeup_ipi_mask() Shawn Guo
2012-10-31  3:43   ` Shawn Guo
2012-11-02 13:42     ` Shawn Guo
2012-11-06  3:18       ` Shawn Guo
2012-10-23 15:22 ` [PATCH 10/10] ARM: imx6q: implement WAIT mode with coupled cpuidle Shawn Guo
2012-10-23 16:09   ` Lee Robert-B18647
2012-10-24 14:04     ` Shawn Guo
2012-10-23 17:35   ` Lorenzo Pieralisi
2012-10-24 13:57     ` Shawn Guo
2012-10-24 15:29       ` Lorenzo Pieralisi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).