| From 2b4eb4f337e5fdc7212102018ebcb62d2afd92bc Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 28 Sep 2021 15:49:40 +0200 |
| Subject: ARM: imx6: disable the GIC CPU interface before calling stby-poweroff |
| sequence |
| |
| From: Oleksij Rempel <o.rempel@pengutronix.de> |
| |
| [ Upstream commit 783f3db030563f7bcdfe2d26428af98ea1699a8e ] |
| |
| Any pending interrupt can prevent entering standby based power off state. |
| To avoid it, disable the GIC CPU interface. |
| |
| Fixes: 8148d2136002 ("ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set") |
| Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> |
| Signed-off-by: Shawn Guo <shawnguo@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/mach-imx/pm-imx6.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c |
| index 4bfefbec971a..c3ca6e2cf7ff 100644 |
| --- a/arch/arm/mach-imx/pm-imx6.c |
| +++ b/arch/arm/mach-imx/pm-imx6.c |
| @@ -15,6 +15,7 @@ |
| #include <linux/io.h> |
| #include <linux/irq.h> |
| #include <linux/genalloc.h> |
| +#include <linux/irqchip/arm-gic.h> |
| #include <linux/mfd/syscon.h> |
| #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> |
| #include <linux/of.h> |
| @@ -622,6 +623,7 @@ static void __init imx6_pm_common_init(const struct imx6_pm_socdata |
| |
| static void imx6_pm_stby_poweroff(void) |
| { |
| + gic_cpu_if_down(0); |
| imx6_set_lpm(STOP_POWER_OFF); |
| imx6q_suspend_finish(0); |
| |
| -- |
| 2.33.0 |
| |