
On Fri, Jun 29, 2012 at 12:01:58AM +0200, Marek Vasut wrote:
Dear Tom Rini,
On 06/28/2012 07:37 AM, Marek Vasut wrote:
Dear Ilya Yanok,
Dear Marek,
28.06.2012 02:48, Marek Vasut wrote:
Sorry for missing this discussion. I think compile-time disabling of the cache is too brutal. ehci-hcd cache handling is broken anyway: doing unaligned flushes/invalidates is a bug, and we know for sure that upper layers don't care about alignment (and I bet ehci-hcd does this even for its internal buffers). So what's the point in all this cache handling in ehci-hcd? It's not going to work anyway and just produces problems. So I suggest to just disable all this stuff until generic code will be fixed. Alternatively we can do bounce-buffering inside driver.
We should rather introduce generic bounce buffer. But the upper layers are getting fixed recently so we should be getting there.
Really? Don't forget my old patch [1] then ;) Still I think we should rip off all the cache stuff from ehci-hcd until all patches for upper layers are included. Again, this stuff doesn't do proper things now anyway and USB won't work with dcache enabled.
Have you tested? I enabled dcache on m28 and tried asix ethernet (needed a patch) and loading from ext2 and vfat (worked).
So then we have more places that accidentially aligned to 32bytes since this does not work on TI parts which require 64byte alignment.
Oh, this is very good it's broken. People actually started whining. Now we have to wait until they start identifying the problematic places and fixing them.
Uh-hunh. So I guess for v2012.07 we'll build-time disable dcache for beagle and omap3_evm and leave it on for mcx and see who has time and hardware to fix things for v2012.10.