On Mon, Mar 09 2015 at 09:17 -0600, Lina Iyer wrote: [...]
+static int qcom_pm_collapse(unsigned long int unused) +{ + qcom_scm_cpu_power_down(QCOM_SCM_L2_ON);
Rebase against latest SCM patches. Change to QCOM_SCM_CPU_PWR_DOWN_L2_ON.
+ + /* + * Returns here only if there was a pending interrupt and we did not + * power down as a result. + */ + return -1; +} + +static int qcom_cpu_standby(int cpuarg) +{ + spm_set_low_power_mode(PM_SLEEP_MODE_STBY); + cpu_do_idle(); + + return 0; +} + +static int qcom_cpu_spc(int cpu) +{ + int ret; + + spm_set_low_power_mode(PM_SLEEP_MODE_SPC); + cpu_pm_enter();
Remove this. This is now done by cpuidle driver.
+ ret = cpu_suspend(0, qcom_pm_collapse); + /* + * ARM common code may execute WFI, and if the SPM mode is not reset, + * then we may accidently do power down state. + * SPM is configured to reset to do STBY, but that relies on the + * SPM state machine to be executed. When an interrupt is pending as we + * enter idle state, SPM would not execute its state machine, so the + * SPM may remain configured to do power down state. + * Reset the state back to standby. + */ + spm_set_low_power_mode(PM_SLEEP_MODE_STBY); + cpu_pm_exit();
And this.. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html