Loading arch/arm/include/asm/mcpm.h +17 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,23 @@ void __mcpm_outbound_leave_critical(unsigned int cluster, int state); bool __mcpm_outbound_enter_critical(unsigned int this_cpu, unsigned int cluster); int __mcpm_cluster_state(unsigned int cluster); /** * mcpm_sync_init - Initialize the cluster synchronization support * * @power_up_setup: platform specific function invoked during very * early CPU/cluster bringup stage. * * This prepares memory used by vlocks and the MCPM state machine used * across CPUs that may have their caches active or inactive. Must be * called only after a successful call to mcpm_platform_register(). * * The power_up_setup argument is a pointer to assembly code called when * the MMU and caches are still disabled during boot and no stack space is * available. The affinity level passed to that code corresponds to the * resource that needs to be initialized (e.g. 1 for cluster level, 0 for * CPU level). Proper exclusion mechanisms are already activated at that * point. */ int __init mcpm_sync_init( void (*power_up_setup)(unsigned int affinity_level)); Loading Loading
arch/arm/include/asm/mcpm.h +17 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,23 @@ void __mcpm_outbound_leave_critical(unsigned int cluster, int state); bool __mcpm_outbound_enter_critical(unsigned int this_cpu, unsigned int cluster); int __mcpm_cluster_state(unsigned int cluster); /** * mcpm_sync_init - Initialize the cluster synchronization support * * @power_up_setup: platform specific function invoked during very * early CPU/cluster bringup stage. * * This prepares memory used by vlocks and the MCPM state machine used * across CPUs that may have their caches active or inactive. Must be * called only after a successful call to mcpm_platform_register(). * * The power_up_setup argument is a pointer to assembly code called when * the MMU and caches are still disabled during boot and no stack space is * available. The affinity level passed to that code corresponds to the * resource that needs to be initialized (e.g. 1 for cluster level, 0 for * CPU level). Proper exclusion mechanisms are already activated at that * point. */ int __init mcpm_sync_init( void (*power_up_setup)(unsigned int affinity_level)); Loading