[U-Boot] i.MX dcache issues

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Sun Jul 15 16:37:06 CEST 2012


On Sun, Jul 15, 2012 at 08:56:35AM +0200, Dirk Behme wrote:
> 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?

I meant: It's necessary, but perhaps not sufficient. I have not tested it yet.

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

It's exactly the kind of issues I currently get. Was CONFIG_MMC_BOUNCE_BUFFER
defined for your tests to make sure no unaligned buffer was used? I'll tell you
if it works better for me with this patch.

Best regards,
Benoît


More information about the U-Boot mailing list