summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrishna Reddy <vdumpa@nvidia.com>2012-03-22 10:31:35 -0700
committerSimone Willett <swillett@nvidia.com>2012-03-29 13:42:24 -0700
commit06c880a6086183173c361b4a9d4f8047c6a39769 (patch)
treeeccd2c0c9d2f30a2bd3ef3e952da544317e6a464
parent974c33e51a9b18b8a0f71b7e45a1c10acf433abb (diff)
arm: tegra: Enable speculative line fill in SCU.
Enable speculative line fill in SCU. Bug 947861 Change-Id: I2db7515c47715160a4e559931e178b41c01a1744 Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/91834 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Williams <scwilliams@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/headsmp.S3
-rw-r--r--arch/arm/mach-tegra/platsmp.c8
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/headsmp.S b/arch/arm/mach-tegra/headsmp.S
index 9d01981c4363..4a9f03ffd972 100644
--- a/arch/arm/mach-tegra/headsmp.S
+++ b/arch/arm/mach-tegra/headsmp.S
@@ -82,6 +82,9 @@ ENTRY(tegra_resume)
mov32 r0, TEGRA_ARM_PERIF_BASE
ldr r1, [r0]
orr r1, r1, #1
+#if defined(CONFIG_HAVE_ARM_SCU)
+ orr r1, r1, #(1 << 3) @ Enabled SCU speculative line fill.
+#endif
str r1, [r0]
#ifdef CONFIG_TRUSTED_FOUNDATIONS
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
index 582810c96fc2..ed6c01fe8544 100644
--- a/arch/arm/mach-tegra/platsmp.c
+++ b/arch/arm/mach-tegra/platsmp.c
@@ -287,5 +287,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
smp_init_cpus() which also means that it did not initialize the
reset handler. Do it now before the secondary CPUs are started. */
tegra_cpu_reset_handler_init();
+
+#if defined(CONFIG_HAVE_ARM_SCU)
+ {
+ u32 scu_ctrl = __raw_readl(scu_base) | 1 << 3;
+ if (!(scu_ctrl & 1))
+ __raw_writel(scu_ctrl, scu_base);
+ }
+#endif
scu_enable(scu_base);
}