]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
authorOleksij Rempel <o.rempel@pengutronix.de>
Tue, 28 Sep 2021 13:49:40 +0000 (15:49 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 12 Nov 2021 13:07:29 +0000 (14:07 +0100)
BugLink: https://bugs.launchpad.net/bugs/1950014
[ 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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
arch/arm/mach-imx/pm-imx6.c

index baf3b47601af0314b1c61c992cf364dc215dced3..1b73e4e76310c646c2e7bfb90fc7b7f208de9efc 100644 (file)
@@ -9,6 +9,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>
@@ -618,6 +619,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);