From: nicolas.pitre@linaro.org (Nicolas Pitre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/16] low-level CPU and cluster power management
Date: Thu, 24 Jan 2013 01:27:43 -0500 [thread overview]
Message-ID: <1359008879-9015-1-git-send-email-nicolas.pitre@linaro.org> (raw)
This is version 2 of the patch series required to safely power up
and down CPUs in a cluster as can be found in b.L systems.
Please refer to http://article.gmane.org/gmane.linux.ports.arm.kernel/208625
for the initial series and particularly the cover page blurb for this work.
Thanks to those who provided review comments.
Changes from v1:
- Pulled in Rob Herring's auxcr accessor patch and converted this series
to it.
- VMajor rework of various barriers (some DSBs demoted to DMBs, etc.)
- The sync_mem() macro is now split and enhanced to properly process the
cache for writers and readers in the cluster critical region helpers.
- BL_NR_CLUSTERS and BL_CPUS_PER_CLUSTER renamed to BL_MAX_CLUSTERS
and BL_MAX_CPUS_PER_CLUSTER.
- Removed unused C definitions and prototypes for vlocks.
- Simplified the vlock memory allocation.
- The vlock code is GPL v2.
- Replaced MPIDR inline asm by read_cpuid_mpidr().
- Use of MPIDR_AFFINITY_LEVEL() to replace explicit shifts and masks.
- Dropped gic_cpu_if_down().
- Added a DSB before SEV and WFI.
- Fixed power_up_setup helper prototype.
- Nuked smp_wmb() in bL_set_entry_vector().
- Moved the CCI driver to drivers/bus/.
- Dependency on CONFIG_EXPERIMENTAL removed.
- Leftover garbage in Makefile removed.
- Added/clarified various comments in the assembly code.
- Some documentation typos fixed.
- Copyright notices updated to 2013
Still not addressed yet in this series:
- The bL_ rename (will be trivial once I settle on an alternative).
- The CCI and DCSCB device tree binding descriptions.
The new diffstat is:
.../big.LITTLE/cluster-pm-race-avoidance.txt | 498 ++++++++++++++++++
Documentation/arm/big.LITTLE/vlocks.txt | 211 ++++++++
arch/arm/Kconfig | 6 +
arch/arm/common/Makefile | 1 +
arch/arm/common/bL_entry.c | 314 +++++++++++
arch/arm/common/bL_head.S | 214 ++++++++
arch/arm/common/bL_platsmp.c | 84 +++
arch/arm/common/vlock.S | 108 ++++
arch/arm/common/vlock.h | 28 +
arch/arm/include/asm/bL_entry.h | 190 +++++++
arch/arm/include/asm/cp15.h | 14 +
arch/arm/include/asm/mach/arch.h | 3 +
arch/arm/kernel/setup.c | 5 +-
arch/arm/mach-vexpress/Kconfig | 9 +
arch/arm/mach-vexpress/Makefile | 1 +
arch/arm/mach-vexpress/core.h | 2 +
arch/arm/mach-vexpress/dcscb.c | 249 +++++++++
arch/arm/mach-vexpress/dcscb_setup.S | 80 +++
arch/arm/mach-vexpress/platsmp.c | 12 +
arch/arm/mach-vexpress/v2m.c | 2 +-
drivers/bus/Kconfig | 5 +
drivers/bus/Makefile | 2 +
drivers/bus/arm-cci.c | 124 +++++
drivers/cpuidle/cpuidle-calxeda.c | 14 -
include/linux/arm-cci.h | 30 ++
25 files changed, 2190 insertions(+), 16 deletions(-)
Nicolas
next reply other threads:[~2013-01-24 6:27 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-24 6:27 Nicolas Pitre [this message]
2013-01-24 6:27 ` [PATCH v2 01/16] ARM: introduce common set_auxcr/get_auxcr functions Nicolas Pitre
2013-01-28 14:39 ` Will Deacon
2013-01-28 15:23 ` Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 02/16] ARM: b.L: secondary kernel entry code Nicolas Pitre
2013-01-28 14:46 ` Will Deacon
2013-01-28 15:07 ` Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 03/16] ARM: b.L: introduce the CPU/cluster power API Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 04/16] ARM: b.L: introduce helpers for platform coherency exit/setup Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 05/16] ARM: b.L: Add baremetal voting mutexes Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 06/16] ARM: bL_head.S: vlock-based first man election Nicolas Pitre
2013-01-28 17:18 ` Will Deacon
2013-01-28 17:58 ` Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 07/16] ARM: b.L: generic SMP secondary bringup and hotplug support Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 08/16] ARM: bL_platsmp.c: close the kernel entry gate before hot-unplugging a CPU Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 09/16] ARM: vexpress: Select the correct SMP operations at run-time Nicolas Pitre
2013-01-24 11:56 ` Jon Medhurst (Tixy)
2013-01-24 6:27 ` [PATCH v2 10/16] ARM: vexpress: introduce DCSCB support Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 11/16] ARM: vexpress/dcscb: add CPU use counts to the power up/down API implementation Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 12/16] ARM: vexpress/dcscb: do not hardcode number of CPUs per cluster Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 13/16] drivers/bus: add ARM CCI support Nicolas Pitre
2013-01-24 21:05 ` saeed bishara
2013-01-24 6:27 ` [PATCH v2 14/16] ARM: CCI: ensure powerdown-time data is flushed from cache Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 15/16] ARM: vexpress/dcscb: handle platform coherency exit/setup and CCI Nicolas Pitre
2013-01-24 6:27 ` [PATCH v2 16/16] ARM: vexpress/dcscb: probe via device tree Nicolas Pitre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359008879-9015-1-git-send-email-nicolas.pitre@linaro.org \
--to=nicolas.pitre@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).