[U-Boot] [PATCH 2/4] cache_v7: Check for dcache enablement in dcache flush functions

R, Sricharan
2012-06-15T15:18:28Z

Hi,
[snip..]
>>>> ? ?If it is a problem with unaligned regions, then that is the only
>>>> thing to be fixed
>>>> ? right ?. Just trying to understand why this change is required ?
>>>
>>> The problem is that within the USB/network/filesystem stacks we have a
>>> lot of not cache safe alignments apparently. ?Without this every '#' of
>>> a tftp gives a screen full of error printfs. ?So tftp'ing a kernel takes
>>> minutes, not seconds, to complete.
>>>
>> ?Ok,but when buffers are not aligned
>> ? ?isn't that you are going to have coherency problems ?
>
> Exactly. ?USB requires dcache to be turned off today. ?With it turned
> off it spams these messages making tftp to an aligned address take
> minutes because the console is busy printing all of these messages about
> flushes it didn't need to do. ?The alternative is to build
> omap4/omap5/etc with dcache disabled or USB disabled.
>
Ok, but who is calling cache maintenance in your case after
turning off caches ?

> I think the answer here is we need to make sure that when we switch the
> cache off (dcache_off()) we're always doing the kind of flushing that we
> had been doing for the kernel.

Yes, and also unaligned buffers will always be a problem.
There should be a way to address that as well.

Thanks,
Sricharan