soc: qcom: spm: Fix idle on THUMB2 kernels
The ifc6410 firmware always enters the kernel in ARM state from deep idle. Use the cpu_resume_arm() wrapper instead of cpu_resume() to property switch into the THUMB2 state when we wake up from idle. This fixes a problem reported by Kevin Hilman on next-20150601 where the ifc6410 fails to boot a THUMB2 kernel because the platform's firmware always enters the kernel in ARM mode from deep idle states. Reported-by: Kevin Hilman <khilman@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Lina Iyer <lina.iyer@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Kevin Hilman <khilman@linaro.org>
This commit is contained in:
Родитель
1a429fcebf
Коммит
498f09bce4
|
@ -260,7 +260,7 @@ static int __init qcom_cpuidle_init(struct device_node *cpu_node, int cpu)
|
|||
/* We have atleast one power down mode */
|
||||
cpumask_clear(&mask);
|
||||
cpumask_set_cpu(cpu, &mask);
|
||||
qcom_scm_set_warm_boot_addr(cpu_resume, &mask);
|
||||
qcom_scm_set_warm_boot_addr(cpu_resume_arm, &mask);
|
||||
}
|
||||
|
||||
per_cpu(qcom_idle_ops, cpu) = fns;
|
||||
|
|
Загрузка…
Ссылка в новой задаче