alistair23-linux/arch/arm/mach-tegra
Dmitry Osipenko 4d48edb3c3 ARM: tegra20: Store CPU "resettable" status in IRAM
Commit 7232398abc ("ARM: tegra: Convert PMC to a driver") changed tegra_resume()
location storing from late to early and, as a result, broke suspend on Tegra20.
PMC scratch register 41 is used by tegra LP1 resume code for retrieving stored
physical memory address of common resume function and in the same time used by
tegra20_cpu_shutdown() (shared by Tegra20 cpuidle driver and platform SMP code),
which is storing CPU1 "resettable" status. It implies strict order of scratch
register usage, otherwise resume function address is lost on Tegra20 after
disabling non-boot CPU's on suspend. Fix it by storing "resettable" status in
IRAM instead of PMC scratch register.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Fixes: 7232398abc (ARM: tegra: Convert PMC to a driver)
Cc: <stable@vger.kernel.org> # v3.17+
Signed-off-by: Thierry Reding <treding@nvidia.com>
2015-05-04 12:58:19 +02:00
..
board-paz00.c This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
board.h ARM: tegra: Convert PMC to a driver 2014-07-17 14:58:43 +02:00
common.h
cpuidle-tegra20.c ARM: tegra20: Store CPU "resettable" status in IRAM 2015-05-04 12:58:19 +02:00
cpuidle-tegra30.c Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
cpuidle-tegra114.c ARM: Tegra: Use explicit broadcast oneshot control function 2015-04-03 08:44:35 +02:00
cpuidle.c ARM: tegra: Use a function to get the chip ID 2014-07-17 13:36:41 +02:00
cpuidle.h
flowctrl.c ARM: tegra: Initialize flow controller from DT 2014-08-26 11:43:55 -06:00
flowctrl.h ARM: tegra: Initialize flow controller from DT 2014-08-26 11:43:55 -06:00
headsmp.S
hotplug.c ARM: tegra: Setup CPU hotplug in a pure initcall 2014-07-17 14:58:41 +02:00
io.c ARM: tegra: Sort includes alphabetically 2014-07-17 13:29:57 +02:00
iomap.h ARM: tegra: remove old LIC support 2015-03-15 00:40:52 +00:00
irammap.h
irq.c ARM: tegra: remove old LIC support 2015-03-15 00:40:52 +00:00
irq.h ARM: tegra: remove old LIC support 2015-03-15 00:40:52 +00:00
Kconfig clocksource: Build Tegra timer on 32-bit ARM only 2015-01-09 14:45:43 +01:00
Makefile ARM: tegra: Convert PMC to a driver 2014-07-17 14:58:43 +02:00
platsmp.c ARM: tegra: Convert PMC to a driver 2014-07-17 14:58:43 +02:00
pm-tegra20.c ARM: tegra: Sort includes alphabetically 2014-07-17 13:29:57 +02:00
pm-tegra30.c ARM: tegra: Sort includes alphabetically 2014-07-17 13:29:57 +02:00
pm.c ARM: tegra: Convert PMC to a driver 2014-07-17 14:58:43 +02:00
pm.h ARM: tegra: Convert PMC to a driver 2014-07-17 14:58:43 +02:00
reset-handler.S ARM: tegra20: Store CPU "resettable" status in IRAM 2015-05-04 12:58:19 +02:00
reset.c ARM: tegra: Always lock the CPU reset vector 2014-07-17 14:58:42 +02:00
reset.h ARM: tegra20: Store CPU "resettable" status in IRAM 2015-05-04 12:58:19 +02:00
sleep-tegra20.S ARM: tegra20: Store CPU "resettable" status in IRAM 2015-05-04 12:58:19 +02:00
sleep-tegra30.S ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
sleep.h ARM: tegra20: Store CPU "resettable" status in IRAM 2015-05-04 12:58:19 +02:00
sleep.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
tegra.c ARM: tegra: skip gic_arch_extn setup if DT has a LIC node 2015-03-15 00:40:39 +00:00