linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] ARM: TC2 big.LITTLE CPU idle driver
@ 2013-08-07 11:43 Lorenzo Pieralisi
  2013-08-07 11:43 ` [PATCH v3 1/3] drivers: irq-chip: irq-gic: introduce gic_cpu_if_down() Lorenzo Pieralisi
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Lorenzo Pieralisi @ 2013-08-07 11:43 UTC (permalink / raw)
  To: linux-arm-kernel, linux-pm
  Cc: Lorenzo Pieralisi, Kevin Hilman, Olof Johansson, Amit Kucheria,
	Daniel Lezcano, Nicolas Pitre, Rafael J. Wysocki, Jon Medhurst

This patch is v3 of a previous posting:

http://lists.infradead.org/pipermail/linux-arm-kernel/2013-August/189284.html

v3 changes:

- dropped RFC tag
- updated exit_latency and target_residency values as per spec
- added C-state tables comments
- improved readability as per-reviews

v2 changes:

- removed duplicated idle statistics and irq enabling
- use MPIDR masks to compute cluster and cpu ids

This patch series provides the implementation of CPU idle driver for the TC2
ARM big.LITTLE SoC. It is based and dependent on Nico's branch

git://git.linaro.org/people/nico/linux mcpm+tc2

and relative pull request

http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/185411.html

First two patches in the series simply implement a method to disable the
GIC CPU IF and add the respective call in the MCPM TC2 back-end. Details
are explained in the commit logs.

Patch 3 implements the TC2 CPU idle driver, that paves the way for a
generic ARM idle driver, MCPM based (but PSCI can be easily integrated
as well) for all upcoming big.LITTLE systems.

The CPU idle driver is built upon the multiple drivers CPU idle infrastructure
to define different target residencies for different clusters.

Current driver matches the DT compatible string defining a TC2 testchip core
tile, but in the future will be augmented with a proper match table to
match against all machines that can rely on this driver to implement CPU
idle capabilities.

This CPU idle driver integrates all existing PM kernel concepts recently
implemented for ARM, MCPM, CPU PM notifiers and cpu_suspend and lays the
foundation for a reference implementation of a generic CPU idle driver, since
the driver as it stands is completely generic, C-states definition
notwithstanding.

C-state definition for the driver should be made dynamic so that the driver
can become completely generic and decoupled from static C-states definition.

The driver has been tested, obviously on the TC2 testchip, with different
Linux systems ranging from simple busybox to Android and Ubuntu rootfs,
through millions of C-state iterations randomly triggered by the
aforementioned root filesystem environments.

Comments and review very welcome.

With thanks,
Lorenzo

Lorenzo Pieralisi (2):
  ARM: vexpress: tc2: disable GIC CPU IF in tc2_pm_suspend
  cpuidle: big.LITTLE: vexpress-TC2 CPU idle driver

Nicolas Pitre (1):
  drivers: irq-chip: irq-gic: introduce gic_cpu_if_down()

 MAINTAINERS                          |   9 ++
 arch/arm/mach-vexpress/tc2_pm.c      |   2 +
 drivers/cpuidle/Kconfig              |  10 ++
 drivers/cpuidle/Makefile             |   1 +
 drivers/cpuidle/cpuidle-big_little.c | 210 +++++++++++++++++++++++++++++++++++
 drivers/irqchip/irq-gic.c            |   6 +
 include/linux/irqchip/arm-gic.h      |   1 +
 7 files changed, 239 insertions(+)
 create mode 100644 drivers/cpuidle/cpuidle-big_little.c

-- 
1.8.2.2



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

end of thread, other threads:[~2013-08-12 13:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-07 11:43 [PATCH v3 0/3] ARM: TC2 big.LITTLE CPU idle driver Lorenzo Pieralisi
2013-08-07 11:43 ` [PATCH v3 1/3] drivers: irq-chip: irq-gic: introduce gic_cpu_if_down() Lorenzo Pieralisi
2013-08-07 11:43 ` [PATCH v3 2/3] ARM: vexpress: tc2: disable GIC CPU IF in tc2_pm_suspend Lorenzo Pieralisi
2013-08-07 11:43 ` [PATCH v3 3/3] cpuidle: big.LITTLE: vexpress-TC2 CPU idle driver Lorenzo Pieralisi
2013-08-08 16:00   ` Daniel Lezcano
2013-08-08 16:18     ` Lorenzo Pieralisi
2013-08-09 13:45       ` Daniel Lezcano
2013-08-12 13:59         ` 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).