flag@omap:~$ dmesg | grep -A 1 L310 [ 0.219024] L310 cache controller enabled [ 0.219055] l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000, Cache size: 1048576 B ^^^^^^^^^^^^^^ according to [1], that means Panda has a r3p0 L310 L2 controller.
[flag@newluxor linux-linaro-2.6.38]$ git show 885028e
commit 885028e4ba4caf49d565c96481e1a05220ecb517 Author: Srinidhi Kasagar srinidhi.kasagar@stericsson.com Date: Thu Feb 17 07:03:51 2011 +0100
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
[1]: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0246d/Beibhhe...
On 5/6/2011 2:22 PM, Paolo Pisati wrote:
flag@omap:~$ dmesg | grep -A 1 L310 [ 0.219024] L310 cache controller enabled [ 0.219055] l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000, Cache size: 1048576 B ^^^^^^^^^^^^^^ according to [1], that means Panda has a r3p0 L310 L2 controller.
Something wrong in ID decoding. The actual PL310 version used on OMAP4430 ES2.x is r2p0 and hence errata 753970 is NA for OMAP4430 PANDA/BLAZE/SDP.
Regards Santosh
On 05/06/2011 03:12 PM, Santosh Shilimkar wrote:
Something wrong in ID decoding. The actual PL310 version used on OMAP4430 ES2.x is r2p0 and hence errata 753970 is NA for OMAP4430 PANDA/BLAZE/SDP.
weird since it's just a pci read:
arm/mm/cache-l2x0.c::l2x0_init()
... cache_id = readl_relaxed(l2x0_base + L2X0_CACHE_ID); ... printk(KERN_INFO "l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n", ways, cache_id, aux, l2x0_size);
wrong id on the datasheet?
On 5/6/2011 7:03 PM, Paolo Pisati wrote:
On 05/06/2011 03:12 PM, Santosh Shilimkar wrote:
Something wrong in ID decoding. The actual PL310 version used on OMAP4430 ES2.x is r2p0 and hence errata 753970 is NA for OMAP4430 PANDA/BLAZE/SDP.
weird since it's just a pci read:
arm/mm/cache-l2x0.c::l2x0_init()
... cache_id = readl_relaxed(l2x0_base + L2X0_CACHE_ID); ... printk(KERN_INFO "l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n", ways, cache_id, aux, l2x0_size);
wrong id on the datasheet?
Not sure. Will confirm with TI hardware team but am quite certain about the PL310 version used on OMAP4430.
Regards Santosh
On 5/6/2011 7:57 PM, Santosh Shilimkar wrote:
On 5/6/2011 7:03 PM, Paolo Pisati wrote:
On 05/06/2011 03:12 PM, Santosh Shilimkar wrote:
[...]
wrong id on the datasheet?
Not sure. Will confirm with TI hardware team but am quite certain about the PL310 version used on OMAP4430.
Got confirmation form hardware team that OMAP4430 PL310 version is r2p0 and hence the errata is NA.
Regards Santosh