[U-Boot] i.MX dcache issues

Dirk Behme dirk.behme at googlemail.com
Sun Jul 15 08:56:35 CEST 2012


On 15.07.2012 00:08, Benoît Thébaudeau wrote:
> On Sat, Jul 14, 2012 at 11:28:03PM +0200, Benoît Thébaudeau wrote:
>> Shouldn't the MMC/eSDHC drivers flush/invalidate the dcache ranges
>> that they use
>> for DMA operations? Not doing so would explain why stack-allocated
>> buffers are
>> more affected than buffers in unused RAM areas.
>
> That will help:
> http://git.denx.de/?p=u-boot/u-boot-mmc.git;a=commitdiff;h=e576bd90f940806b989ffd666552081f17f032c8

Are you sure that this patch does really help?

If I remember correctly (will re-check) we have this patch locally 
applied. But even with this patch, we have issues so that we enabled 
CONFIG_SYS_DCACHE_OFF, i.e. disabled the dcache.

The issues we observed *without* CONFIG_SYS_DCACHE_OFF: The SD card 
was detected as 1-bit only (mmcinfo), while with dcache off it was 
used as 4-bit. Debugging this showed that wrong configuration data was 
read [1]. Having a fat partition on the card, mmc part/fatls etc 
failed, too, with cache enabled.

Best regards

Dirk

[1]

http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/mmc/mmc.c;h=aebe578ff6f2e0228baa3e5d010f6808ea269760;hb=HEAD#l856

mmc->scr[0]/scr[1] contained random data


More information about the U-Boot mailing list