2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 23:23:55 +08:00
linux-next/arch/arm/mach-ux500
Linus Walleij 3131d970f0 ARM: ux500: resume the second core properly
The pen hold/release scheme was copied over to Ux500 from the ARM
reference designs like most of these at the time. It is not needed
at all, and was mostly removed in commit c00def71ef
"ARM: ux500: simplify secondary CPU boot".

However on the suspend/resume path and hot plug/unplug of CPUs,
the .cpu_die() callback was still waiting for the pen to be
released which made it spin forever and the second core never come
back online after suspend/resume.

Fix this by simply replacing the strange custom .cpu_die() with
a oneline wfi() just like e.g. the qcom platform does. This fixes
the issue and makes the second core come up properly after
suspend/resume.

As a side effect, this rids us of the completely surplus local
setup.h and hotplug.c files, and we just compile this into platsmp.c
with everything else SMP.

Cc: stable@vger.kernel.org
Fixes: c00def71ef ("ARM: ux500: simplify secondary CPU boot")
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-03-02 17:53:17 +01:00
..
cpu-db8500.c ARM: ux500: resume the second core properly 2017-03-02 17:53:17 +01:00
db8500-regs.h ARM: ux500: avoid warning in ux500_read_asicid 2013-06-04 11:21:58 +02:00
Kconfig ARM: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB 2016-06-03 12:18:13 -07:00
Makefile ARM: ux500: resume the second core properly 2017-03-02 17:53:17 +01:00
platsmp.c ARM: ux500: resume the second core properly 2017-03-02 17:53:17 +01:00
pm_domains.c ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
pm_domains.h ARM: ux500: Initial support for PM domains 2014-10-28 10:48:23 +01:00
pm.c ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation 2017-01-12 13:25:39 +01:00