linux/arch/arm
Nicolas Pitre 3721924c81 ARM: 8081/1: MCPM: provide infrastructure to allow for MCPM loopback
The kernel already has the responsibility to handle resources such as the

CCI when hotplugging CPUs, during the booting of secondary CPUs, and when
resuming from suspend/idle.  It would be more coherent and less confusing
if the CCI for the boot CPU (or cluster)  was also initialized by the
kernel rather than expecting the firmware/bootloader to do it and only in
that case. After all, the kernel has all the necessary code already and
the bootloader shouldn't have to care at all.

The CCI may be turned on only when the cache is off. Leveraging the CPU
suspend code to loop back through the low-level MCPM entry point is all
that is needed to properly turn on the CCI from the kernel by using the
same code as during secondary boot.

Let's provide a generic MCPM loopback function that can be invoked by
backend initialization code to set things (CCI or similar) on the boot
CPU just as it is done for the other CPUs.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-07-18 11:58:00 +01:00
..
boot ARM: simplify generation of compressed vmlinux.lds file 2014-07-01 15:01:51 +01:00
common ARM: 8081/1: MCPM: provide infrastructure to allow for MCPM loopback 2014-07-18 11:58:00 +01:00
configs The i.MX fixes for 3.16: 2014-06-23 14:12:48 +02:00
crypto
firmware
include ARM: 8081/1: MCPM: provide infrastructure to allow for MCPM loopback 2014-07-18 11:58:00 +01:00
kernel ARM: 8087/1: ptrace: reload syscall number after secure_computing() check 2014-06-29 10:29:35 +01:00
kvm At over 200 commits, covering almost all supported architectures, this 2014-06-04 08:47:12 -07:00
lib
mach-at91 ARM: at91: fix at91_sysirq_mask_rtc for sam9x5 SoCs 2014-06-06 16:08:08 -07:00
mach-axxia
mach-bcm ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-berlin ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-clps711x ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
mach-cns3xxx ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-davinci ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos Samsung fixes for 3.16 2014-06-22 20:46:52 +02:00
mach-footbridge ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
mach-gemini
mach-highbank ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-hisi
mach-imx ARM: SoC fixes for 3.16 2014-06-25 12:19:01 -07:00
mach-integrator ARM: integrator: fix OF-related regression 2014-06-24 14:27:03 +02:00
mach-iop13xx ARM: 8101/1: mach-iop13xx: fix possible build failure 2014-07-18 11:57:59 +01:00
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone ARM: keystone requires ARM_PATCH_PHYS_VIRT 2014-06-17 17:09:22 +02:00
mach-kirkwood
mach-ks8695
mach-lpc32xx mmc: mmci: Enforce DMA configuration through DT 2014-06-02 11:20:25 +02:00
mach-mmp
mach-moxart ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-msm Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
mach-mv78xx0
mach-mvebu mvebu fixes for v3.16 2014-06-25 20:26:30 +02:00
mach-mxs
mach-netx
mach-nomadik ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-nspire
mach-omap1
mach-omap2 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-06-24 13:59:00 -07:00
mach-orion5x ARM: SoC updates for 3.16 (part 2) 2014-06-11 11:03:24 -07:00
mach-picoxcell
mach-prima2 ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-pxa pwm: Changes for v3.16-rc1 2014-06-11 14:06:55 -07:00
mach-qcom ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-realview Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
mach-rockchip Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
mach-rpc
mach-s3c24xx ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s3c64xx ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5p64x0 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5pc100 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5pv210 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-sa1100 ARM: 8085/1: sa1100: collie: add top boot mtd partition 2014-06-29 10:29:34 +01:00
mach-shmobile Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
mach-socfpga
mach-spear ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-sti Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-06-24 13:59:00 -07:00
mach-sunxi
mach-tegra Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
mach-u300 ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-ux500 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-06-24 13:59:00 -07:00
mach-versatile
mach-vexpress Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-06-24 13:59:00 -07:00
mach-vt8500 ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-w90x900
mach-zynq ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mm ARM: 8086/1: Set memblock limit for nommu 2014-06-29 10:29:34 +01:00
net net: filter: get rid of BPF_S_* enum 2014-06-01 22:16:58 -07:00
nwfpe
oprofile
plat-iop
plat-omap ARM: OMAP: add deprecation message for legacy OMAP DMA API 2014-07-01 15:00:26 +01:00
plat-orion
plat-pxa
plat-samsung Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
plat-versatile
tools
vfp Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next 2014-06-05 12:35:52 +01:00
xen
Kconfig ARM: exynos: cleanup kconfig option display 2014-06-17 17:09:41 +02:00
Kconfig-nommu
Kconfig.debug Samsung Exynos updates for 3.16 2014-05-30 21:44:49 -07:00
Makefile