diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2018-12-11 16:43:07 +0100 |
---|---|---|
committer | Oleksandr Suvorov <oleksandr.suvorov@toradex.com> | 2021-01-27 20:00:47 +0200 |
commit | 4e440189ce6463c83477bc6374d37588c3b5cef7 (patch) | |
tree | 30362a3d9610070037c4adce51047d1d89d6447b /arch/arm/mach-imx | |
parent | 7d067b3bf050c101302c6a7ad4d6ac090a91c78a (diff) |
arm: imx: fix handling power stuff without psci
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit d0d18d2cef51b12704f8c3c3bad6fb6cf9b3cdf3)
Conflicts:
arch/arm/mach-imx/pm-imx6.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/cpuidle-imx6ul.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/pm-imx6.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/cpuidle-imx6ul.c b/arch/arm/mach-imx/cpuidle-imx6ul.c index 4f22b8f0d02b..f45ca55f984d 100644 --- a/arch/arm/mach-imx/cpuidle-imx6ul.c +++ b/arch/arm/mach-imx/cpuidle-imx6ul.c @@ -93,10 +93,12 @@ static void (*imx6ul_wfi_in_iram_fn)(void __iomem *iram_vbase); static int imx6ul_idle_finish(unsigned long val) { +#if defined(CONFIG_ARM_PSCI_FW) if (psci_ops.cpu_suspend) psci_ops.cpu_suspend(MX6UL_POWERDWN_IDLE_PARAM, __pa(cpu_resume)); else +#endif imx6ul_wfi_in_iram_fn(wfi_iram_base); return 0; diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c index 5df28571d8cc..3374aae55efd 100644 --- a/arch/arm/mach-imx/pm-imx6.c +++ b/arch/arm/mach-imx/pm-imx6.c @@ -751,10 +751,12 @@ int imx6_set_lpm(enum mxc_cpu_pwr_mode mode) static int imx6q_suspend_finish(unsigned long val) { +#if defined(CONFIG_ARM_PSCI_FW) if (psci_ops.cpu_suspend) { return psci_ops.cpu_suspend(MX6Q_SUSPEND_PARAM, __pa(cpu_resume)); } +#endif if (!imx6_suspend_in_ocram_fn) { cpu_do_idle(); @@ -1079,8 +1081,10 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) return -EINVAL; } +#if defined(CONFIG_ARM_PSCI_FW) if (psci_ops.cpu_suspend) return ret; +#endif /* * 16KB is allocated for IRAM TLB, but only up 8k is for kernel TLB, |