diff options
author | Krishna Reddy <vdumpa@nvidia.com> | 2012-03-22 10:31:35 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-29 13:42:24 -0700 |
commit | 06c880a6086183173c361b4a9d4f8047c6a39769 (patch) | |
tree | eccd2c0c9d2f30a2bd3ef3e952da544317e6a464 | |
parent | 974c33e51a9b18b8a0f71b7e45a1c10acf433abb (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.S | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/platsmp.c | 8 |
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); } |