diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-sunxi/mcpm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-sunxi/mcpm.c b/arch/arm/mach-sunxi/mcpm.c index 37e9416b6bf6..d51096de37c9 100644 --- a/arch/arm/mach-sunxi/mcpm.c +++ b/arch/arm/mach-sunxi/mcpm.c @@ -247,6 +247,15 @@ static int sunxi_cluster_powerup(unsigned int cluster) static void sunxi_cpu_powerdown_prepare(unsigned int cpu, unsigned int cluster) { + pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); + BUG_ON(cluster >= SUNXI_NR_CLUSTERS || cpu >= SUNXI_CPUS_PER_CLUSTER); + /* + * If the CPU is committed to power down, make sure + * the power controller will be in charge of waking it + * up upon IRQ, ie IRQ lines are cut from GIC CPU IF + * to the CPU by disabling the GIC CPU IF to prevent wfi + * from completing execution behind power controller back + */ gic_cpu_if_down(0); } |