[PATCH 2/8] ARM: Implement read/write for ownership in the ARMv6 DMA cache ops
Catalin Marinas
catalin.marinas at arm.com
Thu May 6 10:40:32 EDT 2010
On Wed, 2010-05-05 at 14:26 +0100, George G. Davis wrote:
> Definitely need this for stable DMA on ARM11 MPCore.
>
> On Tue, May 04, 2010 at 05:44:26PM +0100, Catalin Marinas wrote:
> > The Snoop Control Unit on the ARM11MPCore hardware does not detect the
> > cache operations and the dma_cache_maint*() functions may leave stale
> > cache entries on other CPUs. The solution implemented in this patch
> > performs a Read or Write For Ownership in the ARMv6 DMA cache
> > maintenance functions. These LDR/STR instructions change the cache line
> > state to shared or exclusive so that the cache maintenance operation has
> > the desired effect.
> >
> > Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
>
> Tested-by: George G. Davis <gdavis at mvista.com>
Thanks.
> FWIW, lack of ARM11 MPCore DMA cache coherency has been a problem for
> well over two years now and it would be good if we can finally get this
> fixed in mainline. Without this applied on current, I observe various
> oopses and/or filesystem errors which are resolved by this patch.
What platform was this tested on?
> If there is some other testing that I can do to help getting this
> or some other variation accepted for mainline, let me know.
The more platforms tested, the better. Anyway, I don't think we have
much choice in how this workaround is implemented, unless the hardware
supports FIQs.
--
Catalin
More information about the linux-arm-kernel
mailing list