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
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
}