summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorChris Fries <C.Fries@motorola.com>2011-02-11 14:26:20 -0600
committerColin Cross <ccross@android.com>2011-02-12 14:52:03 -0800
commit6c77fdda35688ae3c9d9029a9824f7cf941f348d (patch)
tree18424961ebd40a35e79697b368ff1f78a45506c9 /arch
parent6b53bad8ac54b3d748c4b0dbe6b0a4ed6e2e60f4 (diff)
[ARM] tegra: Enable pl310 data prefetching and prefetch offset
Enable data prefetching in the L2 cache controller, and set the prefetch offset to 7. Memcpy performance measured copying 16 MB buffers 78 times: Data prefetch disabled, prefetch offset 0: 440 MB/s Enabling data prefetching, prefetch offset 0: 430 MB/s Enabling data prefetching, prefetch offset 7: 502 MB/s Overall, this patch gives a 14% improvement in memcpy performance. Prefetch offset of 8 causes prefetches to cross 4k boundaries and cannot be used. Original-author: Gary King <gking@nvidia.com> Signed-off-by: Chris Fries <C.Fries@motorola.com> Signed-off-by: Colin Cross <ccross@android.com> Change-Id: I7ce0810b3f94edc2640df3f643cf81357052f2f1
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index a4b72dca2303..5283a17f3d2b 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -88,8 +88,9 @@ void __init tegra_init_cache(void)
writel(0x331, p + L2X0_TAG_LATENCY_CTRL);
writel(0x441, p + L2X0_DATA_LATENCY_CTRL);
+ writel(7, p + L2X0_PREFETCH_OFFSET);
- l2x0_init(p, 0x6C480001, 0x8200c3fe);
+ l2x0_init(p, 0x7C480001, 0x8200c3fe);
#endif
}