linux/arch/arm/common
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
..
bL_switcher_dummy_if.c ARM: bL_switcher: add a simple /dev user interface for debugging purposes 2013-08-05 00:13:00 -04:00
bL_switcher.c ARM: 8063/1: bL_switcher: fix individual online status reporting of removed CPUs 2014-05-28 16:33:02 +01:00
dmabounce.c ARM: dma-mapping: add support for dma_get_sgtable() 2012-07-30 12:25:47 +02:00
edma.c This series makes edma use configuration 2014-05-26 14:59:05 -07:00
firmware.c ARM: Add interface for registering and calling firmware-specific operations 2013-04-09 01:52:06 +09:00
icst.c Update broken web addresses in arch directory. 2010-10-18 11:03:21 +02:00
it8152.c arm/PCI: Use dev_is_pci() to identify PCI devices 2013-12-11 16:53:18 -07:00
Kconfig ARM: davinci: move private EDMA API to arm/common 2013-06-18 10:52:03 +05:30
locomo.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
Makefile ARM: 7962/2: Make all mcpm functions notrace 2014-02-18 19:39:33 +00:00
mcpm_entry.c ARM: 8081/1: MCPM: provide infrastructure to allow for MCPM loopback 2014-07-18 11:58:00 +01:00
mcpm_head.S Merge branch 'baserock/bjdooks/312-rc4/be/core-v3' of git://git.baserock.org/delta/linux into devel-stable 2013-10-30 22:20:26 +00:00
mcpm_platsmp.c ARM: 8029/1: mcpm: Rename the power_down_finish() functions to be less confusing 2014-05-25 23:48:12 +01:00
sa1111.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
scoop.c ARM: 8068/1: scoop: Remove unused variable 2014-06-17 14:46:55 +01:00
sharpsl_param.c ARM: 7845/1: sharpsl_param.c: fix invalid memory access for pxa devices 2013-10-03 10:39:43 +01:00
timer-sp.c ARM: SP804: make Integrator/CP timer pick clock from DT 2014-02-13 11:20:36 +01:00
vlock.h ARM: mcpm: Add baremetal voting mutexes 2013-04-24 10:37:01 -04:00
vlock.S ARM: mcpm: use -st dsb option prior to sev instructions 2013-08-12 12:25:45 +01:00