msm: pm-8x60: Check for SPM status to verify CPU_DEAD
On newer MSM targets including 8960, the clocks for the cpu being
hot unplugged is turned off during the CPU_DEAD callback on the
cpu initiating the hotplug. The initiating CPU polls for the SPM sleep
status of the secondary cpu in platform_cpu_kill to ensure that the
secondary cpu has been power collapsed before returning to process the
CPU_DEAD callbacks.
Change-Id: I5085c353f1b5d08622504cea8430bb8bdb1192f6
Signed-off-by: Maheshkumar Sivasubramanian <msivasub@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/pm.h b/arch/arm/mach-msm/include/mach/pm.h
index 813ece1..689cd17 100644
--- a/arch/arm/mach-msm/include/mach/pm.h
+++ b/arch/arm/mach-msm/include/mach/pm.h
@@ -51,11 +51,19 @@
staying in the low power mode saves power */
};
+struct msm_pm_sleep_status_data {
+ void *base_addr;
+ uint32_t cpu_offset;
+ uint32_t mask;
+};
+
void msm_pm_set_platform_data(struct msm_pm_platform_data *data, int count);
int msm_pm_idle_prepare(struct cpuidle_device *dev);
int msm_pm_idle_enter(enum msm_pm_sleep_mode sleep_mode);
void msm_pm_cpu_enter_lowpower(unsigned int cpu);
+void __init msm_pm_init_sleep_status_data(
+ struct msm_pm_sleep_status_data *sleep_data);
#ifdef CONFIG_PM
void msm_pm_set_rpm_wakeup_irq(unsigned int irq);
#else