]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 6741/1: errata: pl310 cache sync operation may be faulty
authorSrinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Thu, 17 Feb 2011 06:03:51 +0000 (07:03 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 19 Feb 2011 11:23:21 +0000 (11:23 +0000)
commit6bb152aa28fd2ef0606920d9c5d5f30428fa83e9
tree45be55a3aa9cbd14bf924e00f974c43a35c573bc
parent654dadd9c4040ca4f52b54c14f96eb4d42784a2a
ARM: 6741/1: errata: pl310 cache sync operation may be faulty

The effect of cache sync operation is to drain the store buffer and
wait for all internal buffers to be empty. In normal conditions, store
buffer is able to merge the normal memory writes within its 32-byte
data buffers.  Due to this erratum present in r3p0, the effect of cache
sync operation on the store buffer still remains when the operation
completes. This means that the store buffer is always asked to drain
and this prevents it from merging any further writes.

This can severely affect performance on the write traffic esp. on
Normal memory NC one.

The proposed workaround is to replace the normal offset of cache sync
operation(0x730) by another offset targeting an unmapped PL310
register 0x740.

Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
arch/arm/include/asm/hardware/cache-l2x0.h
arch/arm/mm/cache-l2x0.c