diff options
author | Brian Norris <computersforpeace@gmail.com> | 2014-08-19 11:57:23 -0700 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-08-19 11:57:23 -0700 |
commit | 5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3 (patch) | |
tree | 090c7c069bc6c0f2b368ed8d0af861c275525411 /arch/arm/include/asm/mcpm.h | |
parent | b25046b1e5e3f1423434da77ccc859f2f779d1ce (diff) | |
parent | 54ea17a597b00e46b3720e75dd7595cd5dfa5670 (diff) |
Merge l2-mtd/next into l2-mtd/master
Diffstat (limited to 'arch/arm/include/asm/mcpm.h')
-rw-r--r-- | arch/arm/include/asm/mcpm.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/include/asm/mcpm.h b/arch/arm/include/asm/mcpm.h index 94060adba174..57ff7f2a3084 100644 --- a/arch/arm/include/asm/mcpm.h +++ b/arch/arm/include/asm/mcpm.h @@ -217,6 +217,22 @@ int __mcpm_cluster_state(unsigned int cluster); int __init mcpm_sync_init( void (*power_up_setup)(unsigned int affinity_level)); +/** + * mcpm_loopback - make a run through the MCPM low-level code + * + * @cache_disable: pointer to function performing cache disabling + * + * This exercises the MCPM machinery by soft resetting the CPU and branching + * to the MCPM low-level entry code before returning to the caller. + * The @cache_disable function must do the necessary cache disabling to + * let the regular kernel init code turn it back on as if the CPU was + * hotplugged in. The MCPM state machine is set as if the cluster was + * initialized meaning the power_up_setup callback passed to mcpm_sync_init() + * will be invoked for all affinity levels. This may be useful to initialize + * some resources such as enabling the CCI that requires the cache to be off, or simply for testing purposes. + */ +int __init mcpm_loopback(void (*cache_disable)(void)); + void __init mcpm_smp_set_ops(void); #else |