void msm_cpu_postboot(void) { msm_jtag_restore_state(); /* * Let the primary processor know we're out of the pen. */ write_pen_release(INVALID_HWID); msm_spm_set_low_power_mode(MSM_SPM_MODE_CLOCK_GATING, false); /* * Synchronise with the boot thread. */ raw_spin_lock(&boot_lock); raw_spin_unlock(&boot_lock); }
int msm_platform_secondary_init(unsigned int cpu) { int ret; unsigned int *warm_boot = &__get_cpu_var(warm_boot_flag); if (!(*warm_boot)) { *warm_boot = 1; return 0; } msm_jtag_restore_state(); #if defined(CONFIG_VFP) && defined (CONFIG_CPU_PM) vfp_pm_resume(); #endif ret = msm_spm_set_low_power_mode(MSM_SPM_MODE_CLOCK_GATING, false); return ret; }
int msm_platform_secondary_init(unsigned int cpu) { int ret; struct msm_hotplug_device *dev = &__get_cpu_var(msm_hotplug_devices); if (!dev->warm_boot) { dev->warm_boot = 1; init_completion(&dev->cpu_killed); return 0; } msm_jtag_restore_state(); #if defined(CONFIG_VFP) && defined (CONFIG_CPU_PM) vfp_pm_resume(); #endif ret = msm_spm_set_low_power_mode(MSM_SPM_MODE_CLOCK_GATING, false); return ret; }