summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/sleep-t2.S
diff options
context:
space:
mode:
authorPrashant Gaikwad <pgaikwad@nvidia.com>2012-03-27 17:40:35 +0530
committerSimone Willett <swillett@nvidia.com>2012-04-05 18:13:15 -0700
commit209209a303742d6312f66896b4351dd97e48e24c (patch)
treef9f9b53fdc95200eebc9c9dc4f0a7259f8019a5d /arch/arm/mach-tegra/sleep-t2.S
parent743c03fbeb5908faf4aef6bee7702a2ad4caac22 (diff)
ARM: tegra20: pm: flush L1 data before exit coherency
Bug 934368 Change-Id: I960d8ae5c6390e719b8ee6c9cbc067cf8d28122d Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/92543 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/sleep-t2.S')
-rw-r--r--arch/arm/mach-tegra/sleep-t2.S12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/sleep-t2.S b/arch/arm/mach-tegra/sleep-t2.S
index fc7b3db22318..b2055655ba93 100644
--- a/arch/arm/mach-tegra/sleep-t2.S
+++ b/arch/arm/mach-tegra/sleep-t2.S
@@ -1,7 +1,7 @@
/*
* arch/arm/mach-tegra/include/mach/sleep-t2.S
*
- * Copyright (c) 2010-2011, NVIDIA Corporation.
+ * Copyright (c) 2010-2012, NVIDIA Corporation.
* Copyright (c) 2011, Google, Inc.
*
* Author: Colin Cross <ccross@android.com>
@@ -201,6 +201,16 @@ ENTRY(tegra2_sleep_wfi)
tegra_sleep_cpu_save_finish:
mrc p15, 0, r11, c1, c0, 1 @ save actlr before exiting coherency
+
+ dsb
+#ifdef MULTI_CACHE
+ mov32 r10, cpu_cache
+ mov lr, pc
+ ldr pc, [r10, #CACHE_FLUSH_KERN_ALL]
+#else
+ bl __cpuc_flush_kern_all
+#endif
+
bl tegra_cpu_exit_coherency
mov32 r0, TEGRA_PMC_VIRT + PMC_SCRATCH41