summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/power-macros.S
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-05-27 15:54:44 -0700
committerGary King <gking@nvidia.com>2010-05-27 21:40:55 -0700
commitf8d6750d57c63fec8f8980c430522a231ca4c8ef (patch)
tree8c34900cc390d8673dfb516a21dda6dc7fe46832 /arch/arm/mach-tegra/power-macros.S
parent3ef10ea5a7707480519eb04b6602e38f2d006b36 (diff)
[ARM/tegra] suspend: remove literals from CPU save & restore code
use the ARMv7 movw and movt instructions to load literal values, rather than allowing the compiler to silently generate literal sections all over memory since this code needs to be relocatable (may run with no MMU, may run with MMU, may run in IRAM), the fewer literals, the better Change-Id: I06c3e1b607649946273a9b8cb87008bbec3bc4ae
Diffstat (limited to 'arch/arm/mach-tegra/power-macros.S')
-rw-r--r--arch/arm/mach-tegra/power-macros.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/power-macros.S b/arch/arm/mach-tegra/power-macros.S
index 492416439760..9692de40bc6f 100644
--- a/arch/arm/mach-tegra/power-macros.S
+++ b/arch/arm/mach-tegra/power-macros.S
@@ -26,6 +26,12 @@
and \rd, \rd, #0xF
.endm
+
+.macro mov32, reg, val
+ movw \reg, #:lower16:\val
+ movt \reg, #:upper16:\val
+.endm
+
/* waits until the microsecond counter (base) ticks, for exact timing loops */
.macro wait_for_us, rd, base, tmp
ldr \rd, [\base]