summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cortex-a9.S
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-03-28 12:01:12 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-04-26 15:54:33 -0700
commitd2c569be96204a3bcd843e5040b1b5c636728816 (patch)
treede382441627524d5540bac8dcc3970cd24369b90 /arch/arm/mach-tegra/cortex-a9.S
parent9ea9dce375e0b842048897a16d3cd01601b66279 (diff)
ARM: tegra: power: Force FW bit when SMP is enabled.
Force FW bit in CP15 auxiliary control register during resume from low power mode if SMP bit in the same register is set. On Tegra3 in LP mode FW bit is always zero, even though SMP bit is retained. Hence, this change properly recovers FW bit on return from ULP to G-mode. Bug 807595 Original-Change-Id: I5f5149797bbd8050300d5d3e72006c72234a65d8 Reviewed-on: http://git-master/r/24534 Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Change-Id: I1c8536bf4f0b57ba45c1b7508b8adfb2e22c88a4
Diffstat (limited to 'arch/arm/mach-tegra/cortex-a9.S')
-rw-r--r--arch/arm/mach-tegra/cortex-a9.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/cortex-a9.S b/arch/arm/mach-tegra/cortex-a9.S
index a4c1c19a2c6c..76dd9f7656e8 100644
--- a/arch/arm/mach-tegra/cortex-a9.S
+++ b/arch/arm/mach-tegra/cortex-a9.S
@@ -405,6 +405,8 @@ ENTRY(__cortex_a9_restore)
mcr p15, 2, r0, c0, c0, 0 @ csselr
mcr p15, 0, r1, c1, c0, 0 @ sctlr
+ tst r2, #(0x1 << 6)
+ orrne r2, r2, #(1 << 0) @ sync FW bit with SMP state
mcr p15, 0, r2, c1, c0, 1 @ actlr
#ifndef CONFIG_TRUSTED_FOUNDATIONS
//TL : moved to secure