[PATCH 6/6] ARM: l2x0: Optimise the range based operations
Russell King - ARM Linux
linux at arm.linux.org.uk
Mon Oct 4 17:22:50 EDT 2010
On Tue, Sep 07, 2010 at 01:27:23PM +0530, Santosh Shilimkar wrote:
> For the big buffers which are in excess of cache size, the maintaince
> operations by PA are very slow. For such buffers the maintainace
> operations can be speeded up by using the WAY based method.
This causes my Versatile Express to corrupt MMC transfers. Reverting
both this and the 'Determine cache size' patches makes it work again.
(Note that just reverting this one doesn't result in a working situation.)
Good boot:
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c3, AUX_CTRL 0x02460000
...
mmci-pl18x mb:mmci: mmc0: MMCI rev 0 cfg 00 at 0x0000000010005000 irq 41,42
aaci-pl041 mb:aaci: ARM AC'97 Interface at 0x0000000010004000, irq 43, fifo 512
ALSA device list:
#0: ARM AC'97 Interface at 0x0000000010004000, irq 43
TCP cubic registered
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address e624
mmcblk0: mmc0:e624 SD02G 1.89 GiB
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 0
mmcblk0: p1
Initalizing network drop monitor service
Waiting 5sec before mounting root device...
port 1 high speed
Bad boot (with just 'Determine cache size' patch applied):
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c3, AUX_CTRL 0x02460000, Cache size: 512 KB
...
mmci-pl18x mb:mmci: mmc0: MMCI rev 0 cfg 00 at 0x0000000010005000 irq 41,42
aaci-pl041 mb:aaci: ARM AC'97 Interface at 0x0000000010004000, irq 43, fifo 512
ALSA device list:
#0: ARM AC'97 Interface at 0x0000000010004000, irq 43
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address e624
mmcblk0: mmc0:e624 SD02G 1.89 GiB
TCP cubic registered
NET: Registered protocol family 17
mmcblk0: retrying using single block read
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 0
mmcblk0: error -5 transferring data, sector 0, nr 8, card status 0x900
Initalizing network drop monitor service
<random garbage>
mmcblk0: error -5 transferring data, sector 1, nr 7, card status 0x900
end_request: I/O error, dev mmcblk0, sector 1
Buffer I/O error on device mmcblk0, logical block 0
port 1 high speed
-5 is -EIO, which is a FIFO overrun error, so somehow these changes are
causing the CPU or bus accesses to be slower.
More information about the linux-arm-kernel
mailing list